Hier noch ein Tipp für dich bezüglich das Erstellen und Freigeben von Objekten:
Wenn ein Objekt deine gesamte Anwendung überleben soll und aber korrekt freigegeben werden soll:
Delphi-Quellcode:
procedure TForm1.OnCreate(...)
begin
MeinObjekt := TMeinObjekt.Create();
end;
procedure TForm1.OnDestroy(...)
begin
// Optional:
// if Assigned(MeinObjekt) then
MeinObjekt.Free;
end;
Und wenn das Objekt nur in der Methode (Prozedur / Funktion) verwendet werden soll und danach unwichtig ist, bitte so lösen:
Delphi-Quellcode:
procedure MeineProzedur();
var
MeinObjekt: TMeinObjekt;
begin
MeinObjekt := TMeinObjekt.Create();
try
MeinObjekt.MachWas();
finally
// Optional:
// if Assigned(MeinObjekt) then
MeinObjekt.Free;
end;
end;
(og: "Ressourcenschutzblock" - finally wird immer aufgerufen, um sicherzustellen, dass die Ressource freigegeben wird)
Gruß
blackdrake