Einzelnen Beitrag anzeigen

Yheeky

Registriert seit: 7. Jun 2002
1.339 Beiträge
 
#1

Verständnisfragen zu TObject und TObjectList

  Alt 26. Jun 2008, 18:05
Hi,

ich habe nochmal eine Verständnisfrage bezüglich Objekte:
Angenommen ich habe folgende Klassen:

Delphi-Quellcode:
type
 TAuto = class(TObject)
  Marke : String;
  Modell : String;
  Baujahr : Integer;
 end;
 
type
 TAutoSammlung = class(TObjectList)
end;

{...}

var autoSammlung : TAutoSammlung;

{...}

procedure TForm1.Create(...);
begin
  autoSammlung := TAutoSammlung.Create(True);
end;
Nun kann einer Autosammlung ja über folgenden Code ein Auto hinzufügt werden:

Delphi-Quellcode:
procedure TForm1.ErstelleNeuesAuto(auto_Marke : String, auto_Marke : String, auto_Baujahr : Integer);
var newCar : TAuto;
begin
  // (2)
  newCar := TAuto.Create;
  newCar.Marke := auto_Marke;
  newCar.Modell := auto_Marke;
  newCar.Baujahr := auto_Baujahr;

  autoSammlung.Add(newCar);
end;
So und nun die Verständnisfragen:
1.) Ist es richtig, dass ich nun das Objekt newCar NICHT über FreeAndNil(newCar); oder newCar.Free; freigeben darf, weil in der AutoSammlung quasi nur der Verweis auf das Auto-Objekt steht?
2.) Wenn ich immer nur EIN Auto integriert haben möchte (was zugegebenermaßen wenig Sinn bei einer AutoSammlung macht *g*, aber es geht ums Verständnis), muss ich dann an der mit (2) markierten Stelle nicht FreeAndNil(newCar); einbauen, weil ich doch sonst immer ein weiteres Auto-Objekt hinzufüge?

Die beiden Fragen haben sich mir gerade noch gestellt...wäre super, wenn jemand etwas Lichts ins Dunkle bringen könnte
  Mit Zitat antworten Zitat