[lazarus] New Win32 Installer Now Available!!!

d0hb0y d0hb0y at lynq.com
Sun Jul 18 11:24:57 EDT 1999


>>This might not be the best idea.  If a developer is using the gtk dll's for
>>another purpose (maybe using gimp or gtk with other bindings) they may
>>already have the dll's in /win/system and replacing them may cause
>>problems.  I remember a couple of months ago the dll's were ahead of the
>>fpc bindings and it was very difficult to get copies of the old dll's for
>>fpc development.  I would bet the the dll's will be updated again and there
>>will be a lag with the fpc bindings.  If they're inadvertantly replaced in
>>/win/system it will cause problems.  I suggest putting the dll's in
>>/pp/bin/win32 which will be on the path anyway and avoid incompatible dll
>>problems in the future.

>Not a bad idea. I'll adjust the next version so that the user has a
>choice of where they want to install the dlls.

DLL Hell isnt quite that simple, but it would help.  If the user runs the
older application and then launches lazarus, theres a chance the old dlls
will still be in memory.  At that point Lazarus will not run properly.  We
have this problem all the time with our winblows application.  The way we
get around it is instead of putting any dlls in the path, we keep our dlls
exclusively in application directory with the .exe.  The application's
"start in" parameter is set to the same directory, so no path changes are
neccesary.  In the worst case, a clean reboot allows our application to load.

Putting the dlls into the "path" may not necessarly fix the problem,
because the search order for dlls is something like this (but more
complicated, obviously :)

Current Directory (or Start-In Directory), /windows/system, /windows, path

So i'm not sure we can come up with a solution that works for everyone
immediately, but having a specifcation for where to install the dlls is a
start atleast. :-)

The ideal way is for the dlls to have incremental filenames, (or a lazarus
specific set of gtk dlls) but that's something the gtk group would have to
do, and we would have to build lazarus for a particular release of gtk.  

I never completely understood how unix handled this -- are there shared
dynamic libraries in unix, and how do they version control them?  Just
curious. 

== Ron






More information about the Lazarus mailing list