Subject Re: Hello folks, desperate for help!
Author Adam
--- In, "dpanidis" <dpanidis@...> wrote:
> Hello folks, desperate for help
> I have built an application on Delphi 7, which uses IB components
> and accesses a Firebird database. I need to install the application
> on
> any type of windows platforms, including some really old Windows98
> machines (don't ask me why...). On Windows 98, the server gets
> installed alright, however, it doesn't start, it gives me a 'The
> MSVCRT60.DLL file is linked to missing export
> MSVCRT.DL:__lc_collate_cp'. I searched around and I come to no
> solution. The strange thing is that the IBServer gets intalled, and
> runs alright. But, I figured, since that machine would be a
> standalone database I might as well use the embedded version of
> Firebird. Now the strange things start to happen. On a Windows XP,
> all I had to do was to rename the fbembed.dll to gds32.dll and
> everything worked well.
> However, it doesn't work on Windows98. Unfortunately, the
> INSTCLIENT.EXE patches only the client fbclient.dll that comes with
> the server version. The embedded server version doesn't seem to get
> patched, unless I did something wrong. Then, I found that
> Delphi uses a file named 'IBIntf.pas' that actually loads the .dll. I
> changed the point where it actually executes the LoadLibrary
> function, forcing it to load the fbclient.dll. Unfortunately, the
> LoadLibrary returns 0, in other words it doesn't return the dll
> handle, and it simply fails to open the
> database file. Well, the strange thing is that it doesn't happen on
> any other Windows platform. Well... my questions are these:
> 1) How can I get the server started on Windows 98, Does anybody know
> how to bypass those MSVCRT60.DLL file error messages when I try to
> start the server?

Pretty sure this dll didn't ship with win98 by default but it was
often installed by applications. Google for the dll.

> 2) For Delphi experts: does anybody know why it doesnt load any
> different dll? does it detect at some point dll versions etc?

I think that IBX components do a check on the file version tag to
check it is >= 6. The fbclient is 1.5 (or whatever) so it fails this
test, so the components think the client library is too old.
InstClient is used to generate a 'legacy' client.

> 3) Is there any patch(i highly doubt it) that would somehow clone the
> fbembed.dll to gds32.dll?

Not sure.