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.