In meinem Programm werden kleine Kreise(TImage) erzeugt, das ganze wird von einem Timer gemacht, der alle Einstellungen anpasst und den Namen des erstellten Objekts in eine Stringlist einfügt.
Die Stringlist ist damit ich mit einer For-do Anweisung schnell auf alle erzeugten Bilder zugreifen kann.
Das geht, aber ich habe eine Anweisung geschrieben:
Delphi-Quellcode:
procedure TForm1.Move(B: TImage; P: TPanel);
begin
if B.Tag = 3 then begin //Richtung überprüfen
if B.Left+B.Width > P.Width //Wenn das Bild an den Rand kommt,
then B.Tag := 9; //dann soll es in die entgegengesetzte Richtung weiter
B.Left := B.Left+5; //5 Pixels nach Rechts
end;
Das ist nur ein kleiner Ausschnitt, aber hier gibts immer den Fehler. Im Tag des Bildes wird eine Zahl gespeichert, die als Richtung dient, wie auf einer Uhr.
Ein anderer Timer sorgt dafür, dass sich alle Bilder bewegen:
Delphi-Quellcode:
for I := 0 to StringList.Count-1 do
Move(TImage( FindComponent(StringList[I]) ), Panel1);
end;
Wieso gibt es da einen Fehler, wenn ich das Bild schon zur Entwicklungszeit einsetzte, einen Namen gebe und dann ohne die for-do Anweisung sondern nur Move(...) eingebe, funktioniert alles.
Das ist ganz schön schwierig, ich hoffe jemand versteht mich.
Danke schonmal!!!!!!!!!!!!!!!!!!!