Subject | Re: [IBO] Is IBO have a component like IBServices ? |
---|---|
Author | Paul Vinkenoog |
Post date | 2003-11-13T14:01:38Z |
Hi again,
(BCB implementation of Delphi Strings) as parameters. Borland warns
that in this case you must add the library MEMMGR.LIB to both the
DLL project and any other projects that use the DLL. And you must
distribute BORLNDMM.DLL along with your DLL (and any project using
it).
Now, we just might be lucky because all AnsiString parameters are
passed as C++ references (roughly equivalent to a Pascal var
parameter). IOW: The strings themselves aren't passed via the stack,
only references to the strings.
So I made two versions: a bare one, assuming we won't need MEMMGR.LIB
or BORLNDMM.DLL; and another one in case we do need them. You'll find
them both here:
http://vinkenoog.nl/interbase/dlltest/
Please note: the difference between the two zips is not only that one
of them contains BORLNDMM.DLL and the other doesn't. The DLLs
themselves are also different (although they have the same name), and
maybe the LIBs are too!
I suggest you try the "bare" version first and if that doesn't work,
go for the "mm" version.
Maybe the LIBs don't work for you and you have to build an import lib
yourself with implib.
Also, if you need the mm version, maybe you should distribute your own
Delphi's BORLNDMM.DLL with your app instead of the one in the zip.
Or maybe you don't need to distribute BORLNDMM.DLL at all - maybe
that's only needed for non-Borland languages. No idea.
Please let me know if you get one of the versions to work with Delphi.
I don't have time to test it myself now (not even under BCB).
Greetings,
Paul Vinkenoog
>> I you have it, then please create an interface for Delphi !OK, there's one "ugly" thing about it: my functions have AnsiStrings
> Good idea! I'll give it a try this afternoon. But I must warn you
> that I have very little time, so if there are any complications
> it'll have to wait a couple of days.
(BCB implementation of Delphi Strings) as parameters. Borland warns
that in this case you must add the library MEMMGR.LIB to both the
DLL project and any other projects that use the DLL. And you must
distribute BORLNDMM.DLL along with your DLL (and any project using
it).
Now, we just might be lucky because all AnsiString parameters are
passed as C++ references (roughly equivalent to a Pascal var
parameter). IOW: The strings themselves aren't passed via the stack,
only references to the strings.
So I made two versions: a bare one, assuming we won't need MEMMGR.LIB
or BORLNDMM.DLL; and another one in case we do need them. You'll find
them both here:
http://vinkenoog.nl/interbase/dlltest/
Please note: the difference between the two zips is not only that one
of them contains BORLNDMM.DLL and the other doesn't. The DLLs
themselves are also different (although they have the same name), and
maybe the LIBs are too!
I suggest you try the "bare" version first and if that doesn't work,
go for the "mm" version.
Maybe the LIBs don't work for you and you have to build an import lib
yourself with implib.
Also, if you need the mm version, maybe you should distribute your own
Delphi's BORLNDMM.DLL with your app instead of the one in the zip.
Or maybe you don't need to distribute BORLNDMM.DLL at all - maybe
that's only needed for non-Borland languages. No idea.
Please let me know if you get one of the versions to work with Delphi.
I don't have time to test it myself now (not even under BCB).
Greetings,
Paul Vinkenoog