Thema: Delphi FastMM log File

Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#7

Re: FastMM log File

  Alt 8. Dez 2006, 13:11
Zitat von Surrounder:
ich gebe das meiner Meinung nach auch wieder richtig frei, und zwar im destructor von TCLStation
Delphi-Quellcode:
destructor TCLStation.dCLStation();
begin
   if Assigned( wellendat ) then begin
      wellendat.Destroy;
      wellendat := nil;
   end;
end;
Dein Code ist falsch bzw. "ungünstig programmiert".
Ein Destruktor muss heisst immer Destroy heisen!!
Andere Namen, wie z.B. beim Konstruktor möglich sind nicht erlaubt!!
Richtig ist:
Delphi-Quellcode:
destructor TCLStation.Destroy;
begin
   wellendat.Free;
   // Auf keinen Fall inherited vergessen !!!!!!!
   // da sonst ein Speicherleck entsteht
   // wichtig ist auch, dasss inherited im Destruktor die letzte Anweisung ist
   inherited;
end;
Ich schätze, damit ist dein Speicherleck gefunden.
Andreas
  Mit Zitat antworten Zitat