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 😕


Anmelden zum Antworten