Einzelnen Beitrag anzeigen

Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.477 Beiträge
 
Delphi 12 Athens
 
#8

Re: [DLL]Daten weg nach FreeLibrary

  Alt 24. Apr 2009, 09:18
'Max Mustermann' ist eine String-Konstante, die fest im Speicherbereich der DLL abgelegt ist.

Result.Author := 'Max Mustermann';

Author ist vom Type String, Stringvariablen sind in Wirklichkeit Zeiger auf einen String.
Der Zeiger Author verweist auf den Speicher, in dem die String-Konstante liegt.

Unload;

Der Zeiger Author verweist auf eine Speicheradresse, die nicht mehr von der DLL belegt wird.


Eine mögliche Lösung:
Delphi-Quellcode:
fInfo.Author := Copy(fInfo.Author);
fInfo.Version := Copy(fInfo.Version);
fInfo.Name := Copy(fInfo.Name);
Unload;
  Mit Zitat antworten Zitat