
CTL3D.DLL and CTL3DV2.DLL?
Quote:
>For some time I've used the functions in CTL3D.DLL to give my MsgBox's a
3D
>look and I've distributed CTL3D.DLL with my apps.
>I was aware that there were several different versions of the DLL, but
never
>had the problem until last week when I wasted an hour or two looking for
a
>"problem" that turned out to be the fact that something had installed a
>rogue version of CTL3D.DLL in my \WINDOWS directory.
>My understanding is that MS started to use CTL3DV2.DLL because of such
>problems. Is it fully compatible with CTL3D? Can it be freely
distributed or
>is there some sort of licensing restriction?
>The time stamp of the version on my PC is 22 Aug 94, 22:36. Looking on
just
>one CD-ROM I found four copies of the file, all with different dates -
does
>anyone know what the correct time stamp should be?
>-----------------------------------------------------------------------
>Roger Barker (Escapee from the 8080 programmers' rest home)
>Boston, UK
Checking the time/date stamp won't solve your problem -- you need to
check the internal version information within the DLL. Shaftel Software
(CompuServe 72540,1462) offers a shareware product called "DLL Master"
which provides module version information and is available from many ftp
sites -- or you can write your own code to do the same using API calls.
Regarding CTL3DV2.DLL versus CTL3D.DLL, Microsoft Tech Notes states:
"Because there are a number of released applications that either don't do
version checking or install CTL3D.DLL to the wrong directory, we have
created a new version of CTL3D, CTL3DV2.DLL, that applications link
to with the CTL3DV2.LIB file. This new DLL name makes it impossible for
older versions of CTL3D.DLL (version 1.x) to affect applications
using CTL3DV2.DLL."
To use CTL3DV2.DLL, you must declare it properly in your code. The whole
CTL3D thing is a bit messy, but the end result *does* look nice.
I hope this helps.