Thema: Delphi Frage zu OOP

Einzelnen Beitrag anzeigen

Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#5

Re: Frage zu OOP

  Alt 3. Nov 2005, 22:42
Zitat von 3_of_8:
Wo genau ist dein Problem?

Delphi-Quellcode:
finalization
begin
MyClass:=nil;
end;
Vorsicht, man sollte eine Klasse immer mittels Destruktor freigeben (der räumt dann wirklich mal den Speicher auf. MyClass := nil setzt nur den Zeiger auf nil, der von MyClass reservierte Speicher bleibt natürlich belegt. So bekommt man ganz schnell Speicherlecks hin, die es in sich haben.
Besser:

Delphi-Quellcode:
finalization
begin
  // Aufruf des Destructors
  MyClass.Free;
end;
oder um sicher zu gehen, dass der Zeiger von MyClass nicht gesetzt bleibt :

Delphi-Quellcode:
finalization
begin
  FreeAndNil(MyClass);
end;
  Mit Zitat antworten Zitat