Forum: Object-Pascal / Delphi-Language
Delphi
by sh17,
23. Jan 2007
Solange TObjectList.Create(true) aufgerufen wurde, werden bei Free auch die Items freigegeben.
Noch eine Anmerkung zu
procedure TCarPos.AssignTo(var Dest: TCarPos);
begin
Dest.FZeitpunkt := FZeitpunkt;
Dest.FCarID := FCarID;
end;
Forum: Object-Pascal / Delphi-Language
Delphi
by sh17,
22. Jan 2007
TObjectList bietet einen Mechanismus zum Verwalten seiner Items. Ruft man TObjectList.Create(true) auf, gehören die Items dieser Objectlist und sie werden bei ObjectList.clear bzw ObjectList.Free von dieser wieder freigegeben.
Ruft man TObjectList.Create(false) auf, muss man sich selbst um die Freigaben der Items kümmern.
Um eine Kopie eines Items zu bekommen, musst Du dieses Object TCarPos...
Forum: Object-Pascal / Delphi-Language
Delphi
by sh17,
22. Jan 2007
Du überschreibst bei Deiner TCarPosCollection die Destroy-Methode der TObjectList und gibts alle Items frei. Das ist nicht nötig, das macht TObjectList schon.
Hier mal ein Grundgerüst für KLassen, die von TObjectList erben und somit ein Typecasting überflüssig machen:
Ersetze Name durch Deine Klasse (TCarPos)
NameObjectList = class(TObjectList)
protected
function GetItem(Index:...