Subject | Hello folks, desperate for help! |
---|---|
Author | dpanidis |
Post date | 2006-05-17T21:37:25Z |
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?
2) For Delphi experts: does anybody know why it doesnt load any
different dll? does it detect at some point dll versions etc?
3) Is there any patch(i highly doubt it) that would somehow clone the
fbembed.dll to gds32.dll?
Any help on the above would be greatly appreciated...
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?
2) For Delphi experts: does anybody know why it doesnt load any
different dll? does it detect at some point dll versions etc?
3) Is there any patch(i highly doubt it) that would somehow clone the
fbembed.dll to gds32.dll?
Any help on the above would be greatly appreciated...