ctl3d32.dll

Why is it that the latest version requires ctl3d32.dll when this redmontonian(http://msdn.microsoft.com/library/devprods/vs6/visualc/vcmfc/_mfcnotes_t...) says that u cannot install ctl3d32.dll on a winnt4.0 system at all !! what is going on !!!

s-sipfamily's picture

I forgot to mention that i do not have ctl3d32.dll on my system (NT40SP3/VC6Entreprise). All of this because of this culprit Rtk.dll !! BTW : ctl3d32.dll is a 16bit lib (a dinosaure to be exact). the 32 bit counterpart is comctl3d32.dll.

Jean Michel Boulcourt's picture

I don't know exactly where ctl3d32.dll is required in OpenCasCade. But take care there are several versions of ctl3d32.dll and there should be one available for Windows NT4 because Microsoft Exchange client for Windows NT requires it for example. I have it on my system and it is not a 16bit dll. I remember that this dll was delivered in previous versions of VC++.

Regards.

Christian Reif's picture

http://users.ticnet.com/chuckw/ctl3d.htm offers different versions of ctl3d32.dll

Jean Michel Boulcourt's picture

I think you talk about comctl32.dll (I never heard of comctl3d32) which is completely different from ctl3d32.dll.

ctl3d32.dll is provided in both VC++5 and VC++6 and also in Windows NT4 CDROM.

Now here is an excerpt from Developer Studio help : CWinAPP::Enable3dControls ... Call either of the member functions from your override of the InitInstance member function to enable dialog boxes and windows whose controls have a three-dimensional appearance.

So to be able to run the OpenCasCade samples on Windows NT you need ctl3d32.dll because they use 3d control effects for MFC windows.

Regards.

s-sipfamily's picture

> I think you talk about comctl32.dll (I never
> heard of comctl3d32) which is completely
> different from ctl3d32.dll. Mea Culpa ... More on that later.

> ctl3d32.dll is provided in both VC++5 and
> VC++6 and also in Windows NT4 CDROM.

where ? in the CD or automagically installed ?

> Now here is an excerpt from Developer Studio
> help : CWinAPP::Enable3dControls ... Call
> either of the member functions from your
> override of the InitInstance member function
> to enable dialog boxes and windows whose
> controls have a three-dimensional
> appearance.

This help is a left over from the days of Vc2. If you generate a simple MFC app it by default calls this function but it does not require ctl3d32.dll !! I am in no way the expert here but it looks like this dll should not be required at all. I also do not know the intrinsics of Rtk.dll otherwise i would be happy to figure where in the code this dependency is required. I am prudy sure that it is not because of Enable3dControls.

> So to be able to run the OpenCasCade
> samples on Windows NT you need ctl3d32.dll
> because they use 3d control effects for MFC
> windows.

Hummmm ... AFAIK ctl3d32 use to be the engine behind 3d looking buttons,edit boxes etc.. Now these are by default included in the system. Hence there is no apparent need for such a dll on an Nt40 system. Microsoft came up with a different library called comctl32.dll to basically provide the same thing but at a higher level (i am speculating). So unless you are compiling rtk.dll on a system with an old vc++ i do not see how this dependency can be explained. My only point is explain to me why ctl3d32 is required . I can get this lib from somewhere but is it really necessary ?

BTW there is a ctl3d32.lib but not a ctl3d32.dll included with my vc6.
> Regards.