Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Findcomponent mit Variablen (https://www.delphipraxis.net/178808-findcomponent-mit-variablen.html)

superjojo 28. Jan 2014 18:50

Findcomponent mit Variablen
 
Hallo

Ich bastele an einem Spiel.
Dort soll es eine Abfrage geben für alle objekte mit dem Namen "PlattformX" (X steht für die jeweilige Nummer, Alle Plattformen sind Timages).
Ich hatte dies so gelöst.
Delphi-Quellcode:
for i:= 0 to anzahl_plattformen do
Hilfsvariable:=Timage(FindComponent('plattform' + IntToStr(i))) ;
Das hat auch super Funktioniert, wenn ich in Delphi ein Image auf die Form geschoben habe und es "Plattform0" genannt habe und die Anzahl auf "0" gesetzt habe.

Damit das Level bauen aber schneller läuft habe ich nun einen Editor (ebenfalls in Delphi) programmiert, der einen Quelltext erzeugt, welcher dann nur noch in ein neues Delphi projekt eingefügt werden muss und alle Objekte erstellen sich automatisch im OnCreate.

Das Problem:
seit ich mit Images arbeite die wärend der Laufzeit mit
Delphi-Quellcode:
plattform0:=Timage.create(self);
erzeugt werden, bricht das Programm beim FindComponent immer ab.

Funktioniert FindComponent() für Variablen (oder wärend der Laufzeit erstellte Objekte) nicht? Und wenn ja wie kann man dann sonst Variable p1 bis p100 mit einer zeile ansprechen?

--------------------------------------------------
Ich hoffe ich habe es verständlich genug erklärt, sonst gerne rückfragen :-D

DeddyH 28. Jan 2014 18:54

AW: Findcomponent mit Variablen
 
FindComponent würde wohl funktionieren, wenn Du den Images noch Namen spendierst. Aber wieso packst Du die Dinger nicht einfach in eine TComponentList, da kannst Du sie doch prima verwalten?

superjojo 28. Jan 2014 20:54

AW: Findcomponent mit Variablen
 
Du meinst also noch ein
Delphi-Quellcode:
Plattform1.name:=plattform1;
hinzufügen?

Ps: vielen dank für die antwort unddas man das ganze sinvoller aufbauen kann glaube ich gerne. Ist mir jetzt aber gerade zu aufwendig alles umzustruckturieren :-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz