I have a Delphi 2007 program that calls the Delphi 2010 DLL. The program is large and has not yet been ported to 2010, so I can’t change it right now.
I use the SimpleShareMem module to transfer strings, but also tried to use ShareMem with borlndmm.dll.
For one function, I now pass the line from the Delphi 2007 program to the dll (therefore AnsiString). When dll debugging, this AnsiString looks fine and can be viewed in the watch list. But if I just think that
AnAnsiString := PassedAnsiString;
AnAnsistring variable gets the value '???????'#0#0#0'???A', but PassedAnsiString is still read in the watchlist. A line is also added, e.g.
AnAnsiString := PassedAnsiString + NotPassedAnsiString;
uses '???????'#0#0#0'???A'as value.
Where is the problem? This is a question 2007 ↔ 2010? How to fix it? Thanks for the help.
source
share