Als Ergänzung zu marabus Betrag:
Ich persönlich mache es immer so das ich grundsätzlich den Speicher den ich zur Laufzeit "angefordert" (um z.B. eine Klasse zu erzeugen) auch selber wieder freigebe. Unabhängig davon ob dies durch den Owner geschehen würde.
Delphi-Quellcode:
private
myListView : TListView;
public
{ Public-Deklarationen }
end;
var
DemoForm: TDemoForm;
implementation
{$R *.dfm}
procedure TDemoForm.Button1Click(Sender: TObject);
begin
myListView := TListView.Create(self);
end;
procedure TDemoForm.FormDestroy(Sender: TObject);
begin
if (Assigned(myListView)) then
begin
FreeAndNil(myListView);
end;
end;
Wichtig ist dabei auch das man nicht vergisst den Speicher wieder freizugeben welchen man eventuell Reserviert hat um z.B. einen Record über die
.Data Eigenschaft eines TListItems an ein Item zu binden.
Stephan B.