Diese "Speicherlecks" sind beliebt bei Klassen, die sich von
TComponent
ableiten.
Delphi-Quellcode:
procedure foo;
begin
TEdit.Create( Application );
end;
Jeder Aufruf von
foo
erzeugt eine Instanz und belegt somit Speicher. Diese Instanz wird aber nie wieder freigegeben, mit einer Ausnahme:
Da
Application
der Owner ist, wird die Instanz beim Beenden durchaus freigegeben. Darum sagt FastMM: "Kein Speicherleck!" und trotzdem wird der Speicherverbrauch mit jedem Aufruf von
foo
weiter ansteigen.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)