Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

Re: arbeiten mit zur Laufzeit Objekten im dynamischen array

  Alt 17. Jan 2010, 18:02
Willkommen

Delphi-Quellcode:
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].Show;
  MyLabels[i].Color := clLime;
  MyLabels[i].Top := 200 + random(279);
  MyLabels[i].Left := 200 + random(279);
end;
Wozu die Schleife, wenn auch etwas Mathe ausreicht?
Warum nutzt du einmal Form1 und dann wieder Self? (ist in diesem Fall doch wohl die selbe Form)

Zitat von peacook94:
Dann tritt allerdings der Fall ein, dass " i " auf 2 erhöht wird. Zu der Zeit sind allerdings noch nicht 2 Objekte vorhanden. Dort kommt er dann durcheinander und produziert Fehlermeldungen ( "Zugrifffsverletzung in Adresse ..." ).
Eventuell änderst du das globale "i" noch irgendwo anders?

PS: Entfernst du die Labels auch wieder aus dem Array, wenn sie angeklickt/freigegeben wurden?
PSS: Eine TObjektList macht sich bestimmt besser, statt des Arrays.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat