Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#4

Re: arbeiten mit zur Laufzeit Objekten im dynamischen array

  Alt 17. Jan 2010, 19:46
Zitat:
weil es in dem Buch mit dem ich Delphi gelernt hab so drin steht
Ja, leider wird diese globale Variable zu oft verwendet.
Bei anderen/eigenen Klassen kommt man auf soeine Idee fast nie und arbeitet direkt mit Self.
Es wäre besser gewesen, wenn es diese Variable erst garnicht gäbe.

Delphi-Quellcode:
var MyLabels: array of TLabel;

procedure TForm1.Timer1Timer(Sender: TObject);
var i: Integer;
begin
  i := length(MyLabels);
  SetLength(MyLabels, i + 1);
  MyLabels[i] := TLabel.Create(Self);
  MyLabels[i].Parent := Self;
  MyLabels[i].Color := clLime;
  MyLabels[i].Top := 200 + Random(279);
  MyLabels[i].Left := 200 + Random(279);
  MyLabels[i].Show; // vielleicht besser erstmal alles zu setzt
end;
oder eben
Delphi-Quellcode:
var MyLabels: TObjectList;

// MyLabels := TObjectList.Create;
// und am Ende
// MyLabels.Free; nicht vergessen

procedure TForm1.Timer1Timer(Sender: TObject);
var Label: TLabel;
begin
  Label := TLabel.Create(Self);
  Label.Parent := Self;
  Label.Color := clLime;
  Label.Top := 200 + Random(279);
  Label.Left := 200 + Random(279);
  Label.Show;
  MyLabels.Add(Label);
end;
So brauchst du dich nicht um die Verwaltung der Liste zu kümmern.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat