Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi dynamisch erzeugte Komponenten numbenennen? (https://www.delphipraxis.net/77796-dynamisch-erzeugte-komponenten-numbenennen.html)

oki 25. Sep 2006 10:08

Re: dynamisch erzeugte Komponenten numbenennen?
 
Hi smart,

Zitat:

Zitat von smart
Ich muss zugeben, dass ich noch nicht viel mit eigenen Klassen programmiert habe. Ich teste mal Dein Vorschlag. Sieht ja einfach aus. ;-)

sieht nicht nur einfach aus, ist es sogar. Das hört sich immer alles nur so wahnsinnig abstrakt an. Am konkreten beispiel ist das dann echt easy und mach auch noch Spaß wenn es super funzt (vorallem, wenn man sieht, wie man sich vorher einen abgebrochen hat mit globalen Variablen im Hauptprogramm usw.).

also, probier es aus. es lohnt sich.

Versuche mal alles was deine Images können müssen in deine Klasse zu schreiben. Also nicht so wie:
- Hauptprogramm holt Image; prüft; macht und tut,

sondern
- Hauptprogramm findet Image und Ruft Methode deines Image auf (wie Image.MacheDies oder Image.MacheDas)

Wenn du nicht so richtig weist wie du das machen sollst, dann beschreibe hier die Situation und wir helfen dir mit dem Ansatz.

gruß oki

SirThornberry 25. Sep 2006 11:06

Re: dynamisch erzeugte Komponenten numbenennen?
 
ich versteh immer noch nicht warum man die bilder nicht einfach in eine liste packt beim erzeugen und beim abschießen eines bildes dieses aus der liste entfernt. dann braucht man nur noch diese Liste durchgehen am ende und die restlichen frei geben.
Die Benutzung von FindComponent find ich bissl *krass* Der Name sagt ja schon "Find".
Wenn ich ein Auto habe und es irgendwo parke merke ich mir doch auch wo ich es abgestellt hab und spaare mir somit später die halbe Stadt danach abzusuchen.
Delphi-Quellcode:
ImgListe : TList;
[...]
//Erzeugen der Images
MyImage = TImage.Create(nil);
MyImage.Parent := ....
....
ImgListe.Add(MyImage);
[...]
//Abschießen des Images
Sender.Free;
ImgListe.Remove(Sender);
[...]
//Freigeben der restlichen Images
for i := ImgListe.Count - 1 downto 0 do
  TObject(ImgListe.Items[i]).Free;

oki 25. Sep 2006 11:46

Re: dynamisch erzeugte Komponenten numbenennen?
 
Zitat:

Zitat von SirThornberry
ich versteh immer noch nicht warum man die bilder nicht einfach in eine liste packt beim erzeugen und beim abschießen eines bildes dieses aus der liste entfernt. dann braucht man nur noch diese Liste durchgehen am ende und die restlichen frei geben.
Die Benutzung von FindComponent find ich bissl *krass* Der Name sagt ja schon "Find".

hi,
Naja, FindComponent hat ja noch keiner benutzt, aber welchen Weg man geht (Liste <-> Kompo-suche) ist sicher vom Rest des Projektes abhängig.

Viel interessantrer ist jedoch, dass smart geschmack an OOP bekommt und hier wohl an einer eigenen aufgabenstellung die vorteile begreift. Laß uns mal das zarte Pflänzchen hegen. die Listen bringen wir ihm/ihr dann auch noch bei. (mit den Components ist es doch so schön OOP :spin: )

gruß oki

TeronG 25. Sep 2006 11:55

Re: dynamisch erzeugte Komponenten numbenennen?
 
Zitat:

Zitat von oki
hi,
Naja, FindComponent hat ja noch keiner benutzt, aber welchen Weg man geht (Liste <-> Kompo-suche) ist sicher vom Rest des Projektes abhängig.

Viel interessantrer ist jedoch, dass smart geschmack an OOP bekommt und hier wohl an einer eigenen aufgabenstellung die vorteile begreift. Laß uns mal das zarte Pflänzchen hegen. die Listen bringen wir ihm/ihr dann auch noch bei. (mit den Components ist es doch so schön OOP :spin: )

gruß oki

Also so ne Liste ist bestimmt schneller/performanter als jedesmal neu zu suchen....

smart 25. Sep 2006 18:46

Re: dynamisch erzeugte Komponenten numbenennen?
 
@ SirThornberry
@ oki

Ich habe jetzt mal beides getestet. Mit einer Liste und mit eigenen Klassen. Von der Geschwindigkeit her, ist ohne Messung, kein merklicher Unterschied. Beides klappt ausgezeichnet. Mit eigenen Klassen kann man natürlich eine Menge toller Dinge anstellen. Ich war verwundert was man damit so alles machen kann, so dass ich mich gefragt habe, warum ich mich nicht schon ehr damit beschäftigt habe. Ich habe jetzt zwei Programmversionen erstellt. Welche Version ich jetzt letztlich einbaue kann ich erst sagen wenn das Spiel fertig ist.

Vielen Dank an Euch.

Heike

oki 25. Sep 2006 19:01

Re: dynamisch erzeugte Komponenten numbenennen?
 
Hi smart,

freut mich dass es funzt und das dir OOP gefällt. an sonsten gilt: "Viele Wege führen nach Rom!" und jeder mag erst mal seine Methode am meisten :zwinker:

gruß oki


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:31 Uhr.
Seite 3 von 3     123   

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