Board index » cppbuilder » Mixing RTL Applications with NO-RTL

Mixing RTL Applications with NO-RTL

Is this problem ? :

My application is builded using no RTL, but it loads another BPL, that
uses RTL (borlndmm.dll).
This application loads also many my DLLs and each of this DLL is builded
using no RTL...

sometimes i get access violation errors in borlndmm.dll ?? where is the
problem?

Vladimir Hirner

 

Re:Mixing RTL Applications with NO-RTL


Hi, Vladimir!

I believe that borlandmm.dll is required for DLLs which pass strings
across the interface. FWIW.

------
Mark Cashman, TeamB C++ Builder
http://www.temporaldoorway.com/programming/index.htm
C++ Builder, JBuilder programming information
Home of The C++ Builder Programmer's Webring - Join us!
------

Re:Mixing RTL Applications with NO-RTL


Sorry, what do you mean "pass strings across the interface" ?

In some DLLs i call some functions from another DLL and i pass
as parameter the TStringList object that i created in the 1. DLL. Is it
problem?

thanx
Vladimir Hirner

Quote
"Mark Cashman (TeamB)" wrote:
> Hi, Vladimir!

> I believe that borlandmm.dll is required for DLLs which pass strings
> across the interface. FWIW.

> ------
> Mark Cashman, TeamB C++ Builder
> http://www.temporaldoorway.com/programming/index.htm
> C++ Builder, JBuilder programming information
> Home of The C++ Builder Programmer's Webring - Join us!
> ------

Re:Mixing RTL Applications with NO-RTL


Hi, Vladimir!

Yes, that's the problem. Make sure to follow the instructions at the top
of the DLL project source regarding borlandmm.dll

You see, the TStringList if passed as a parameter is also passing its
AnsiString elements.

------
Mark Cashman, TeamB C++ Builder
http://www.temporaldoorway.com/programming/index.htm
C++ Builder, JBuilder programming information
Home of The C++ Builder Programmer's Webring - Join us!
------

Re:Mixing RTL Applications with NO-RTL


Thanks for advice. Is this also important if i pass strings using messages?
(i post message, where in LPARAM is the pointer to my TStringList object..
the another thread, that gets this message is created in different DLL and
destroys
this StringList after processing it...)

thx
Vlado

Quote
"Mark Cashman (TeamB)" wrote:
> Hi, Vladimir!

> Yes, that's the problem. Make sure to follow the instructions at the top
> of the DLL project source regarding borlandmm.dll

> You see, the TStringList if passed as a parameter is also passing its
> AnsiString elements.

> ------
> Mark Cashman, TeamB C++ Builder
> http://www.temporaldoorway.com/programming/index.htm
> C++ Builder, JBuilder programming information
> Home of The C++ Builder Programmer's Webring - Join us!
> ------

Re:Mixing RTL Applications with NO-RTL


I tried adding memmgr.lib to my test application, builded using static RTL,
but
borlndmm.dll was not linked into my app. I also tried removing all
borlandmm.dll and the application worked correctly?? how can i link only
borlandmm.dll into my app? (i tried adding #PRAGMA LINK memmgr.lib, and also
tried
adding memmgr.lib into my BPR file into ALLLIB section, and it also doesn't
linked
borlndmm.dll into my app...

have you any advices?

thanks

Vlado

Quote
"Mark Cashman (TeamB)" wrote:
> Hi, Vladimir!

> Yes, that's the problem. Make sure to follow the instructions at the top
> of the DLL project source regarding borlandmm.dll

> You see, the TStringList if passed as a parameter is also passing its
> AnsiString elements.

> ------
> Mark Cashman, TeamB C++ Builder
> http://www.temporaldoorway.com/programming/index.htm
> C++ Builder, JBuilder programming information
> Home of The C++ Builder Programmer's Webring - Join us!
> ------

Other Threads