Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Before you consider using the ComCtl32.OCX

129 views
Skip to first unread message

Hans-Chr. Francke

unread,
Oct 28, 1998, 3:00:00 AM10/28/98
to
Before you start using the ComCtl32.OCX that includes the TreeView control
you should read the below information.

If you use the ComCtl32.OCX that ships with the ODE and you plan on
distributing your program to several users you should be aware that other
programs such as Visual Basic, programs made with VB and Windows 98 may ship
a newer version of this control. This newer version may cause the error
"There is no object in this control" when you try to load a form with the
OCX in your Run-time version.

You could rename your clients ComCtl32.OCX before installing your Run-Time
to make sure that your client is using your version of the OCX, but there is
a BIG risk that your client sooner or later will install another program
that includes a newer version of ComCtl32.OCX that reproduces a conflict.

Also including a newer version of the OCX in you Run-Time (like the one that
ships with Windows 98) may reduce the risk of conflict, but it does not
eliminate this RISK. I have done reascent installations that reproduce this
error even if I include the OCX that ships with Windows 98.

Microsoft support has no solution nor workaround for this behaviour.

David E. Liske

unread,
Oct 28, 1998, 3:00:00 AM10/28/98
to
Microsoft does have a workaround, and I heard it yesterday at a TechNet
briefing. What they'd like developers to do is place OCX's and other
support files in the application directory or a subdirectory of it. This
solves every type of version compatibility problem there is, and makes for
much cleaner uninstalls as well.

David

--
Visit the HTMLHelp Center
for Visual Basic
at http://www.vbexplorer.com

Hans-Chr. Francke <fra...@online.no> wrote in article
<#Xh4TIpA#GA....@uppssnewspub05.moswest.msn.net>...

Hans-Chr. Francke

unread,
Oct 29, 1998, 3:00:00 AM10/29/98
to
Thanks for your information. On the 28. october I contacted MS support for
the n'th time.
I have suggested this workaround several times, but they told me that it
would not work.

Can someone confirm that this is the proper workaround for OCX's and other
support files.

Bill Pierpoint

unread,
Oct 29, 1998, 3:00:00 AM10/29/98
to Hans-Chr. Francke
I have the same problem and have several observations:

1. If you open the form in design mode on the computer with the newer version
of COMCTL32 (5.00.3828 vs 5.00.3601), you will find an empty box where the
control should be. Some forms may have their ActiveX controls, some forms won't
have all their controls. After a while, I realized that the missing controls
were ones that were created by copying and pasting controls rather than creating
them new off the toolbar. I replaced the missing controls with new ones and
this problem went away in the mdb file.

2. However, running an mde file created an invalid page fault within COMCTL32.
Creating an mde file on the computer with the newer OCX's allowed the mde to run
there, but not on the older computers, and vice versa. We haven't tested the
run-time versions yet so still could have more problems.

3. The newer version of COMCTL32 comes with SR-2 which Microsoft has withdrawn
for now. However Dell has shipped Windows 95 computers that includes Office
Professional SR-2 and this incompatible version of COMCTL32.

Bill Pierpoint

unread,
Oct 29, 1998, 3:00:00 AM10/29/98
to David E. Liske
Do you have any more information on how to do this? I attempted this at one
point but wasn't able to get it to work. Part of the problem is that
COMCTL32.OCX uses COMCAT.DLL and you get a different version of the dll with
each different ocx. Doesn't the dll have to run in the System32 directory?
That precludes having multiple dll's with the same name.

David E. Liske wrote:

> Microsoft does have a workaround, and I heard it yesterday at a TechNet
> briefing. What they'd like developers to do is place OCX's and other
> support files in the application directory or a subdirectory of it. This
> solves every type of version compatibility problem there is, and makes for
> much cleaner uninstalls as well.
>
> David
>
> --
> Visit the HTMLHelp Center
> for Visual Basic
> at http://www.vbexplorer.com
>
> Hans-Chr. Francke <fra...@online.no> wrote in article
> <#Xh4TIpA#GA....@uppssnewspub05.moswest.msn.net>...

Alex Dybenko

unread,
Oct 29, 1998, 3:00:00 AM10/29/98
to
David,
not sure, that this will help. All comctl32 version 5 have the same CLSID,
any programm will use last registed comctl32.
Best regards,
___________
Alex Dybenko
Point Limited
E-Mail: al...@cemi.rssi.ru
Home Page: http://www.geocities.com/SiliconValley/Heights/5091/
Moscow MS Access User Group
http://www.arimsoft.ru/msaccess

David E. Liske wrote in message <01be02a5$7943d2e0$524590d1@delmar>...

K Lowe

unread,
Nov 2, 1998, 3:00:00 AM11/2/98
to
Thanks for the info, Dave

I have a similiar problems with the comdlg32.ocx - a company that we are
working with has a older version and wishes to retain this file. We need to
have a new version, but we have been unable to get a configuration that
works wells

How you access a ocx that is not placed in the windows system area and not
have it interfer with an exisiting ocx in that area.

thks in advance for your reply

David E. Liske wrote in message +ADw-01be02a5+ACQ-7943d2e0+ACQ-524590d1+AEA-delmar+AD4-...
+AD4-Microsoft does have a workaround, and I heard it yesterday at a TechNet
+AD4-briefing. What they'd like developers to do is place OCX's and other
+AD4-support files in the application directory or a subdirectory of it. This
+AD4-solves every type of version compatibility problem there is, and makes for
+AD4-much cleaner uninstalls as well.
+AD4-
+AD4-David
+AD4-
+AD4---
+AD4-Visit the HTMLHelp Center
+AD4-for Visual Basic
+AD4-at http://www.vbexplorer.com
+AD4-
+AD4-Hans-Chr. Francke +ADw-francke+AEA-online.no+AD4- wrote in article
+AD4APAAj-Xh4TIpA+ACM-GA.253+AEA-uppssnewspub05.moswest.msn.net+AD4-...
+AD4APg- Before you start using the ComCtl32.OCX that includes the TreeView
+AD4-control
+AD4APg- you should read the below information.
+AD4APg-
+AD4APg- If you use the ComCtl32.OCX that ships with the ODE and you plan on
+AD4APg- distributing your program to several users you should be aware that other
+AD4APg- programs such as Visual Basic, programs made with VB and Windows 98 may
+AD4-ship
+AD4APg- a newer version of this control. This newer version may cause the error
+AD4APg- +ACI-There is no object in this control+ACI- when you try to load a form with the
+AD4APg- OCX in your Run-time version.
+AD4APg-
+AD4APg- You could rename your clients ComCtl32.OCX before installing your
+AD4-Run-Time
+AD4APg- to make sure that your client is using your version of the OCX, but there
+AD4-is
+AD4APg- a BIG risk that your client sooner or later will install another program
+AD4APg- that includes a newer version of ComCtl32.OCX that reproduces a conflict.
+AD4APg-
+AD4APg- Also including a newer version of the OCX in you Run-Time (like the one
+AD4-that
+AD4APg- ships with Windows 98) may reduce the risk of conflict, but it does not
+AD4APg- eliminate this RISK. I have done reascent installations that reproduce
+AD4-this
+AD4APg- error even if I include the OCX that ships with Windows 98.
+AD4APg-
+AD4APg- Microsoft support has no solution nor workaround for this behaviour.
+AD4APg-
+AD4APg-
+AD4APg-

Jim

unread,
Nov 2, 1998, 3:00:00 AM11/2/98
to
My understanding is that the .dll must be in the system directory but that the
.ocx can reside whereever. You mentioned comcat.dll...maybe you can help me with
a problem that I've had with this.

I'm using the Internet Transfer Control (version 5.01.4511) which requires the
comcat.dll (version 5.0). I had to use the latest version of the ITC due to a
known bug in previous versions which prevent passing the userid and password when
logging into an FTP server. The installation for this Access 97 application was
created using ODE on a Win95 machine. The application installs and runs fine on
Win95 w/IE4 or Win98 but not on NT4.0. The problem appears to be with NT being
able to register the comcat.dll. The fix according to the MS Knowledgebase is to
revert to version 4.71 of comcat.dll. This fixes that problem but then the ITC
doesn't work. I've tried manually registering the comcat.dll version 5.0 and that
gave me an error about "DLLRegisterServer entry point not found". Any ideas?
Anyone ever run into this?

David E. Liske

unread,
Nov 2, 1998, 3:00:00 AM11/2/98
to
The way it was explained was that you need to use the Browse button on the
Components dialog in order to use the specific one that you want. I
haven't had the opportunity to verify this, but it would seem reasonable.

David

--
Visit the HTMLHelp Center
for Visual Basic
at http://www.vbexplorer.com

K Lowe <lo...@veratix.com> wrote in article
<eiYGgfnB#GA....@uppssnewspub05.moswest.msn.net>...

Hans-Chr. Francke

unread,
Nov 3, 1998, 3:00:00 AM11/3/98
to
Hi Jim, I don't think you will be able to distribute just the ComCat.DLL
sucsessfully without distributing an operating system that supports it.
The same issue has been discussed in some of the other newsgroups regarding
distribution of the ComCtl32.OCX when IE 4.0 or Win 98 is installed.
If your control must use the latest version of ComCat.DLL then they must
also use an operating system that support this file.

Michael W Holdsworth

unread,
Nov 3, 1998, 3:00:00 AM11/3/98
to
I have found the following problem that may explain some of the issues.

When a file is added by setup wizard it saves the version number of the file
at the time it is added.
This is the time stamp that is used when the setup wizard runs. If a newer
file is added to your system at a later date the setup wizard will still
think the file is the original version so will not try to install it.

I have found 2 solutions that work.

1. Delete and add the file to the setup wizard.
2. Manually update the date and version numbers in the MDT file that the
setup wizard uses (I have a program that automates this for me before a
build).

I have successfully used the second process for 2 large projects that
redistribute a lot of DLLs and OCX's.
Bill Pierpoint wrote in message <3638A23E...@aem-east.com>...

>> Before you start using the ComCtl32.OCX that includes the TreeView

control


>> you should read the below information.
>>

>> If you use the ComCtl32.OCX that ships with the ODE and you plan on

>> distributing your program to several users you should be aware that other

>> programs such as Visual Basic, programs made with VB and Windows 98 may

ship


>> a newer version of this control. This newer version may cause the error

>> "There is no object in this control" when you try to load a form with the


>> OCX in your Run-time version.
>>

>> You could rename your clients ComCtl32.OCX before installing your

Run-Time


>> to make sure that your client is using your version of the OCX, but there

is


>> a BIG risk that your client sooner or later will install another program

>> that includes a newer version of ComCtl32.OCX that reproduces a conflict.
>>

>> Also including a newer version of the OCX in you Run-Time (like the one

that


>> ships with Windows 98) may reduce the risk of conflict, but it does not

>> eliminate this RISK. I have done reascent installations that reproduce

this


>> error even if I include the OCX that ships with Windows 98.
>>

Jan at Software Services

unread,
Nov 4, 1998, 3:00:00 AM11/4/98
to
The problem with using the Browse is that you can locate the OCX you tucked
off into your application directory but the system comes back with a message
about a duplicate entry when you leave the references box. This is because
you can't remove the offending
references first (the OCX's in the System directory).

I don't know if there is a secret way around this.

David E. Liske wrote in message <01be069f$a515f940$a44590d1@delmar>...

Jacco Houter

unread,
Nov 4, 1998, 3:00:00 AM11/4/98
to
Here is how I solved this problem.

I made a copy of COMCTL32.OCX and named it WHATEVER.OCX and placed in my
application's folder. I unregistered all components from COMCTL32.OCX and
registered all components in WHATEVER.OCX.
Then I replaced all controls referering to COMCTL32.OCX on my Access forms
by the controls refering to WHATEVER.OCX.
When finished you can register COMCTL32.OCX again. (you will see that the
some controls are twice on the ActiveX component list).
When distributing your app. also send the WHATEVER.OCX and register it. In
this way the version of COMCTL32.OCX doesn't have any influence anymore.

This counts for any .OCX that you would like to distribute. Any version
difference will give you problems.

Jacco Houter

Hans-Chr. Francke wrote in message
<#Xh4TIpA#GA....@uppssnewspub05.moswest.msn.net>...

Stefan Pia-Okrongli

unread,
Nov 5, 1998, 3:00:00 AM11/5/98
to
On Wed, 4 Nov 1998 11:29:14 -0600, "Jan at Software Services"
<ja...@execpc.com> wrote:

>The problem with using the Browse is that you can locate the OCX you tucked
>off into your application directory but the system comes back with a message
>about a duplicate entry when you leave the references box. This is because
>you can't remove the offending
>references first (the OCX's in the System directory).
>
>I don't know if there is a secret way around this.
>
>

There can always only be ONE ExtendedOleControl (OCX) on a system, no
matter where it is, as the OCX's are registered and accessed via the
registry. Hence if you copy an older OCX into your applications path,
the app will still refer to the registered one. If you register your
OCX using regsvr32, other apps will also use your OCX, and may crash!

Abbot Cooper

unread,
Nov 6, 1998, 3:00:00 AM11/6/98
to
Pure genius - simple, but effective. I love it (just a little positive
feedback for you Jacco!!!)

Abbot Cooper
Cooper.Abb...@mgh.harvard.edu
(remove "_NoSpam_" from address when sending)


Jacco Houter <jac...@iaehv.nl> wrote in article
<71qlva$bql$1...@news.IAEhv.nl>...

K Lowe

unread,
Nov 6, 1998, 3:00:00 AM11/6/98
to
Dave - I'm still very interested in your original comment ---
+ACI-Microsoft does have a workaround, and I heard it yesterday at a TechNet

briefing. What they'd like developers to do is place OCX's and other
support files in the application directory or a subdirectory of it. This
solves every type of version compatibility problem there is, and makes for
much cleaner uninstalls as well+ACI-

Any chance that the workaround can be outlined? I would like to try it out,
but the other messages seem to be contary and my finding to date would seem
to support that


thks

Stefan Pia-Okrongli wrote in message +ADw-3641e210.3785793+AEA-194.168.36.100+AD4-...
+AD4-On Wed, 4 Nov 1998 11:29:14 -0600, +ACI-Jan at Software Services+ACI-
+AD4APA-janf+AEA-execpc.com+AD4- wrote:
+AD4-
+AD4APg-The problem with using the Browse is that you can locate the OCX you
tucked
+AD4APg-off into your application directory but the system comes back with a
message
+AD4APg-about a duplicate entry when you leave the references box. This is because
+AD4APg-you can't remove the offending
+AD4APg-references first (the OCX's in the System directory).
+AD4APg-
+AD4APg-I don't know if there is a secret way around this.
+AD4APg-
+AD4APg-
+AD4-There can always only be ONE ExtendedOleControl (OCX) on a system, no
+AD4-matter where it is, as the OCX's are registered and accessed via the
+AD4-registry. Hence if you copy an older OCX into your applications path,
+AD4-the app will still refer to the registered one. If you register your
+AD4-OCX using regsvr32, other apps will also use your OCX, and may crash+ACE-
+AD4APg-
+AD4APg-
+AD4APg-
+AD4APg-David E. Liske wrote in message +ADw-01be069f+ACQ-a515f940+ACQ-a44590d1+AEA-delmar+AD4-...
+AD4APgA+-The way it was explained was that you need to use the Browse button on
the
+AD4APgA+-Components dialog in order to use the specific one that you want. I
+AD4APgA+-haven't had the opportunity to verify this, but it would seem reasonable.
+AD4APgA+-
+AD4APgA+-David
+AD4APgA+-
+AD4APgA+---
+AD4APgA+-Visit the HTMLHelp Center
+AD4APgA+-for Visual Basic
+AD4APgA+-at http://www.vbexplorer.com
+AD4APgA+-
+AD4APg-
+AD4APg-
+AD4APg-
+AD4-

K Lowe

unread,
Nov 6, 1998, 3:00:00 AM11/6/98
to
How do address the issue when COMCTL32.OCX uses COMCAT.DLL?

thks

Abbot Cooper wrote in message
+ADw-01be098b+ACQ-9ef7d9e0+ACQ-3740b784+AEA-r00abc5.mgh.harvard.edu+AD4-...
+AD4-Pure genius - simple, but effective. I love it (just a little positive
+AD4-feedback for you Jacco+ACEAIQAh-)
+AD4-
+AD4-Abbot Cooper
+AD4-Cooper.Abbot+AF8-NoSpam+AF8AQA-mgh.harvard.edu
+AD4-(remove +ACIAXw-NoSpam+AF8AIg- from address when sending)
+AD4-
+AD4-
+AD4-Jacco Houter +ADw-jaccoh+AEA-iaehv.nl+AD4- wrote in article
+AD4APA-71qlva+ACQ-bql+ACQ-1+AEA-news.IAEhv.nl+AD4-...
+AD4APg- Here is how I solved this problem.
+AD4APg-
+AD4APg- I made a copy of COMCTL32.OCX and named it WHATEVER.OCX and placed in my
+AD4APg- application's folder. I unregistered all components from COMCTL32.OCX and
+AD4APg- registered all components in WHATEVER.OCX.
+AD4APg- Then I replaced all controls referering to COMCTL32.OCX on my Access
+AD4-forms
+AD4APg- by the controls refering to WHATEVER.OCX.
+AD4APg- When finished you can register COMCTL32.OCX again. (you will see that the
+AD4APg- some controls are twice on the ActiveX component list).
+AD4APg- When distributing your app. also send the WHATEVER.OCX and register it.
+AD4-In
+AD4APg- this way the version of COMCTL32.OCX doesn't have any influence anymore.
+AD4APg-
+AD4APg- This counts for any .OCX that you would like to distribute. Any version
+AD4APg- difference will give you problems.
+AD4APg-
+AD4APg- Jacco Houter
+AD4APg-
+AD4APg- Hans-Chr. Francke wrote in message
+AD4APg- +ADwAIw-Xh4TIpA+ACM-GA.253+AEA-uppssnewspub05.moswest.msn.net+AD4-...
+AD4APg- +AD4-Before you start using the ComCtl32.OCX that includes the TreeView
+AD4-control
+AD4APg- +AD4-you should read the below information.
+AD4APg- +AD4-
+AD4APg- +AD4-If you use the ComCtl32.OCX that ships with the ODE and you plan on
+AD4APg- +AD4-distributing your program to several users you should be aware that
+AD4-other
+AD4APg- +AD4-programs such as Visual Basic, programs made with VB and Windows 98 may
+AD4APg- ship
+AD4APg- +AD4-a newer version of this control. This newer version may cause the error
+AD4APg- +AD4AIg-There is no object in this control+ACI- when you try to load a form with
+AD4-the
+AD4APg- +AD4-OCX in your Run-time version.
+AD4APg- +AD4-
+AD4APg- +AD4-You could rename your clients ComCtl32.OCX before installing your
+AD4-Run-Time
+AD4APg- +AD4-to make sure that your client is using your version of the OCX, but
+AD4-there
+AD4APg- is
+AD4APg- +AD4-a BIG risk that your client sooner or later will install another program
+AD4APg- +AD4-that includes a newer version of ComCtl32.OCX that reproduces a
+AD4-conflict.
+AD4APg- +AD4-
+AD4APg- +AD4-Also including a newer version of the OCX in you Run-Time (like the one
+AD4APg- that
+AD4APg- +AD4-ships with Windows 98) may reduce the risk of conflict, but it does not
+AD4APg- +AD4-eliminate this RISK. I have done reascent installations that reproduce
+AD4-this
+AD4APg- +AD4-error even if I include the OCX that ships with Windows 98.
+AD4APg- +AD4-
+AD4APg- +AD4-Microsoft support has no solution nor workaround for this behaviour.
+AD4APg- +AD4-
+AD4APg- +AD4-
+AD4APg-
+AD4APg-
+AD4APg-

prg

unread,
Dec 16, 1998, 3:00:00 AM12/16/98
to
I use the Mabry mail and ftp controls .. they work :-)

--== Paul ==--


Jim wrote in message <363DDA39...@ecsinc.net>...

0 new messages