Thema: Delphi String in dll aufräumen

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.279 Beiträge
 
Delphi 12 Athens
 
#2

Re: String in dll aufräumen

  Alt 25. Mär 2010, 10:14
Zitat von hanspeter:
kann es sein, das Delphi in einer Dll Strings beim Beenden nicht korrekt aufräumt?
eigentlich nicht


Zitat von hanspeter:
Da die dll ohnehin entladen wird, ist das zwar egal. Es sieht aber zumindest
unschön aus.
Ist es nicht.
Blos weil die DLL entladen wird, würde dennoch der Speicher erst beim Beenden der ganzen Anwengung freigegeben.

Aber zum Glück gibt FastMM den gemeldeten und in ihm noch nicht freigegebenen Speicher, nach der Anzeigen frei.
(Speicher, welcher nicht über FastMM reserviert und nicht freigegeben wurde wird nie angezeigt ... dazu zehlen z.B. WideStrings, bei welchen an der Speicherverwaltung aka der automatischen Freigabe manipuliert wurde)


Nutzt du Strings, dynamische Array, Objekte oder Dergleichen über die DLL-Grenze hinweg, z.B. als Parameter oder Funktionsergebnis drüben in der EXE?

Wenn ja:
- sowas macht man nicht (jedenfalls nicht ohne einen SharedMM)
- tja, dann liegt es an der Referenzzählung des Strings und in der EXE, zu diesem Zeitpunkt, noch existierender Referenzen.

Auch noch nicht freigegebene Intefaces könnten hier Probleme bereiten.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat