Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Auslesen TObjectlist - rückgabewert von T.ObjectList.Add immer 0

  Alt 25. Jun 2013, 12:57
Das Delete kannst Du Dir sparen, wenn Du die Liste anschließend freigibst, da diese dann sowieso geleert wird. Vielleicht könntest Du Dich aber mit einem Konzept dieser Art anfreunden?
Delphi-Quellcode:
procedure FillList(List: TObjectList);
var
  Obj: TSomeObject;
begin
  Assert(Assigned(List), 'Keine gültige Listeninstanz übergeben');
  while SomeCondition do
    begin
      Obj := TSomeObject.Create;
      Obj.Property := SomeValue;
      List.Add(Obj);
    end;
end;

procedure TFormDings.MachWas;
var
  List: TObjectList;
  Obj: TSomeObject;
  i: integer;
begin
  List := TObjectList.Create(true);
  try
    FillList(List);
    for i := 0 to List.Count - 1 do
      begin
        Obj := List[i] as TSomeObject;
        Obj.DoSomething;
      end;
  finally
    List.Free;
  end;
end;
Die Methode MachWas erzeugt also eine TObjectList und lässt sie dann von FillList befüllen. Anschließend arbeitet sie mit den enthaltenen Objekten und gibt zum Schluss die Liste samt aller enthaltenen Objekte wieder frei.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat