Forum: Programmieren allgemein
by himitsu,
9. Feb 2015
FastMM im FullDebugMode speichert die Rücksprungadresse des Aufrufs, also quasi die Adresse derjenigen, der den Speicher angefordert hatte.
Forum: Programmieren allgemein
by himitsu,
9. Feb 2015
ReportMemoryLeaksOnShutdown
http://www.delphipraxis.net/183846-fastmm-und-oder-reportmemoryleaksonshutdown.html
PS:
.Free prüft intern bereits auf Self<>nil, bzw. aus Assigned(Self).
Und deine Prüfung geht kaputt, wenn es im Free knallt und dann kein nil gesetzt wird.
procedure TForm1.Button3Click(Sender: TObject);
begin
Button4Click(nil); // Aufräumfunktion aufrufen, oder direkt...
Forum: Programmieren allgemein
by himitsu,
9. Feb 2015
Warum ist m eine globale Variable, obwohl es nur in TForm1 benutzt wird? (das gehört als Feld ins Private der TForm1)
Und dann ist das kein "richtiges" Speicherleck, denn dynamische Arrays sind gemanaged und werden automatisch freigegeben, wenn sie nur noch der Herr Niemand benutzt, genauso wie Strings, Variants und Interfaces.
Aber dafür gehören Variablen und eigentlich Alles nur in den...