Oder benutze Schnittstellen, und aus diesem Code
Delphi-Quellcode:
procedure Timer;
var
data : TmeineKlasse;
begin
data := TmeineKlasse.create;
try
data.bla := bla;
MachWas(data);
finally
data.Free;
end;
end;
wird dieser, wieder etwas kompaktere, Code:
Delphi-Quellcode:
procedure Timer;
var
Data: IMeinInterface;
begin
Data := TMeineKlasse.Create;
Data.Bla := Bla;
MachWas(Data);
end;
Am Ende der Methode wird der Speicher automatisch wieder freigegeben - aber Vorsicht, wenn in MachWas eine Referenz auf das Data Objekt 'behalten' wird, kann es dennoch zu Speicherlecks kommen.