Stringzuweisung in DLL
-
nabend,
mal ne frage. habe eine dll, in der verschiedene funktionen ausgeführt werden. soweit so gut, funktioniert auch alles. bis auf eine kleinigkeit, und zwar folgendes:
habe eine funktion, die aus der exe aufgerufen wird. in dieser funktion( in der dll ) wird ein dialog geöffnet, in dem einiges gemacht werden kann. das ergebnis dieser tätigkeiten soll der exe als ansistring zurückgegeben werden.hier mal der code
AnsiString rBuff; TListDef *ldDlg = new TListDef( 0/*Application->Handle*/ ); try { ldDlg->ShowModal(); rBuff = ldDlg->bBuff; => in bBuff steht der richtige wert!!! => in rBuff steht schrott!!! } catch (Exception &exception) { delete ldDlg; ldDlg = NULL; Application->ShowException(&exception); } if( ldDlg ) { delete ldDlg; => und hier crasht es!!! ldDlg = NULL; } RW = "Hallihallohallöle, komme aus DLL ;-)\n\gewählt wurde: " + rBuff; return RW;
ohne die strings rBuff und bBuff funktioniert es einwandfrei.
jemand ne idee, oder seh ich den wald vor lauter bäumen nicht mehr? war ein langer tag heute
thx schonmal
-
hallo,
erstellt dir mal in einem neuen projekt eine dll mit dem assistent (neue dll) und les dir genau den text durch, den der assi ganz oben generiert hat...
mfg
murph
-
ok, habe die memmgr.lib eingebunden. seitdem crasht er nicht mehr, aber im string rBuff steht nach der zuweisung immernoch schrott
woran kann das liegen