Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Dynamischen ListViews neue Items hinzufügen
Maisinator - So 01.11.09 13:19
Titel: Dynamischen ListViews neue Items hinzufügen
Hallo,
ich möchte in meinem Programm per Button neue ListViews erzeugen lassen. Funktioniert auch 1A. Dies füge ich dann alle in ein ObjectList ein. Nun weiß ich jedoch nicht, wie ich den ListViews neue Items hinzufügen soll...
Kann mir jemand helfen?
DANKE
Narses - So 01.11.09 13:41
Moin!
Genau so, wie statischen. :nixweiss: Ich versteh die Frage irgendwie nicht... :gruebel:
cu
Narses
Maisinator - So 01.11.09 13:44
Mir wurde in diesem Forum empfohlen, Items in ListView so einzufügen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| var Item: TListItem; begin Item:= 'ListView'.Items.Add; Item.caption: ''; item.subitems.add... end; |
Problem: Dynamische ListViews kann ich nicht bei 'ListView' einsetzen.
Was oder wie soll ich das machen?
Narses - So 01.11.09 13:47
Moin!
:shock:
Maisinator hat folgendes geschrieben : |
Mir wurde in diesem Forum empfohlen, Items in ListView so einzufügen:
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| var Item: TListItem; begin Item:= 'ListView'.Items.Add; Item.caption: ''; item.subitems.add... end; | |
Wer hat dir denn hier sowas "empfohlen"? :hair: (und in welchem Thread?)
Grundsätzlich ist der Code OK, aber du musst schon eine echte Referenz zu dem Control nehmen, keine Stringkonstante. :idea:
cu
Narses
Maisinator - So 01.11.09 13:50
Narses hat folgendes geschrieben: |
Wer hat dir denn hier sowas "empfohlen"? :hair: (und in welchem Thread?)
|
http://www.delphi-forum.de/viewtopic.php?t=88842 4. Post!
Narses hat folgendes geschrieben: |
Grundsätzlich ist der Code OK, aber du musst schon eine echte Referenz zu dem Control nehmen, keine Stringkonstante. :idea: |
mmh, ja.... Wie mach ich das denn?
Narses - So 01.11.09 14:00
Moin!
OK, man hat dir nicht das "empfohlen", was du daraus gemacht hast. ;)
Maisinator hat folgendes geschrieben : |
Wie mach ich das denn? |
Woher sollen wir wissen, wie du deine ListView-Referenzen verwaltest? :nixweiss:
cu
Narses
Maisinator - So 01.11.09 14:09
Narses hat folgendes geschrieben : |
OK, man hat dir nicht das "empfohlen", was du daraus gemacht hast. ;) |
Was hab ich denn daraus gemacht? Ist doch eigentlich das selbe. Hab halt in diesem Threat das ein bisschen abgekürzt nach Item.Subitem.Add.
Narses hat folgendes geschrieben : |
Woher sollen wir wissen, wie du deine ListView-Referenzen verwaltest? :nixweiss: |
Da ich nicht weiß, was ListView-Referenzen sind, kann ich es dir auch nicht sagen...
jaenicke - So 01.11.09 14:11
Narses hat folgendes geschrieben : |
Woher sollen wir wissen, wie du deine ListView-Referenzen verwaltest? :nixweiss: |
Das hatte er schon geschrieben. :zwinker:
Maisinator hat folgendes geschrieben : |
Dies füge ich dann alle in ein ObjectList ein. |
Beispiel:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| var MyListView: TListView; NewItem: TListItem; begin MyListView := DeineObjectList[0] as TListView;
NewItem := MyListView.Items.Add; NewItem.Caption := ... |
Maisinator - So 01.11.09 17:18
Danke, es scheint ja zu funktionieren. Allerdings werden meiner ObjectList irgendwie die dynamischen ListViews nicht hinzugefügt...
Hab jetzt einfach mal mein Projekt angehängt. Ich hoffe, es findet sich ein hilfsbereiter Delphianer, der mir dabei helfen kann...
Edit: Nicht über das Design wundern, hab mich erstmal um den Code bemüht :wink:
Maisinator - So 01.11.09 17:26
Guck dir bitte nochmal den letzten Post an. Als da keine Antwort mehr kam, hab ich halt nen neuen Threat gemacht, da man ja den Titel vom Threat nichtmehr ändern kann...
jaenicke - So 01.11.09 18:05
Maisinator hat folgendes geschrieben : |
Als da keine Antwort mehr kam |
Ich hatte den Thread gelesen, aber da keine Fehlermeldung dabei stand hatte ich keine Lust mehr und hab den Thread wieder weggeklickt.
Maisinator hat folgendes geschrieben : |
, hab ich halt nen neuen Threat gemacht, da man ja den Titel vom Threat nichtmehr ändern kann... |
Warum? Bei mir geht das immer problemlos. :gruebel:
Maisinator - So 01.11.09 18:09
jaenicke hat folgendes geschrieben : |
Warum? Bei mir geht das immer problemlos. :gruebel: |
Wie denn???
Ich will jetzt aber nicht darüber diskutieren, warum ich nen neuen Threat geöffnet habe. Demnächst bitte nur noch zu meinem Prob... Danke
elundril - So 01.11.09 18:18
ad 1) das werden die mods anders sehen, denk ich ;)
ad 2) schon mal in die hilfe geguckt? afaik ist da ein super beispiel wie man so in item dynamisch hinzufügen kann. die dazugehörige Listview weißt du ja wie man aus der objectlist bekommt oder?
lg elundril
Maisinator - So 01.11.09 18:23
elundril hat folgendes geschrieben : |
die dazugehörige Listview weißt du ja wie man aus der objectlist bekommt oder?
|
das ist nicht mein Problem. Bei mir werden sie nicht in die Objectlist eingefügt, obwohl in meinem Code
Delphi-Quelltext
1:
| MeineOblist.Items.Add(Meine ListVieW) |
steht
jaenicke - So 01.11.09 18:26
Maisinator hat folgendes geschrieben : |
Demnächst bitte nur noch zu meinem Prob... Danke |
Was funktioniert denn an dem Code nicht? Wie gesagt: Ohne Fehlermeldung oder so kann man dazu auch nicht viel sagen...
// EDIT:
Das heißt die Liste bleibt leer?
elundril - So 01.11.09 18:26
rufst du irgendwo nach dem add vielleicht ein Meine_Listview.free; auf?
lg elundril
Maisinator - So 01.11.09 18:31
Nur beim Form1.Destroy wieder. Ich bekomm ja auch keine Fehlermeldung. Auch wenn ich den Code via F7 durchsteppe, direkt nach dem Add-Befehlt bleibt die ObjectList leer... Fahr ich dann mit dem Curser über einen Eintrag im Code, wo die ObjectList steht, erscheint als Inhalt nur ein ()
elundril - So 01.11.09 18:33
zeig mal etwas code, an der stelle wo du das listview in die objectlist einfügst. (die ganze methode vielleicht wenn nicht zu lang?)
fehlermeldung kommt aber keine?
lg elundril
jaenicke - So 01.11.09 18:34
Maisinator hat folgendes geschrieben : |
Fahr ich dann mit dem Curser über einen Eintrag im Code, wo die ObjectList steht, erscheint als Inhalt nur ein () |
Das ist ja auch eine Klasse, drück mal Strg + F7 und gib DeineObjectList.Count ein^^
Und in DeineObjectList[0] z.B. wird auch die erste ListView daraus dann liegen.
Maisinator - So 01.11.09 18:35
elundril hat folgendes geschrieben : |
zeig mal etwas code, an der stelle wo du das listview in die objectlist einfügst. (die ganze methode vielleicht wenn nicht zu lang?) |
Ein paar Posts weiter oben kannst du den Ganzen Code runterladen. (Erschien mir sinnvoller, gleich das ganze Prog hochzuladen)
elundril hat folgendes geschrieben : |
fehlermeldung kommt aber keine? |
Sorry, aber was hab ich eben geschrieben... :lol:
Maisinator - So 01.11.09 18:40
Jetzt gehts plötzlich, ohne das ich was am Code gemacht hab :?: Vorhin ging es nicht :?: Aber egal, jetzt gehts und jetzt bin ich glücklich :D
Maisinator - So 01.11.09 18:51
Moderiert von
Narses: Komplett-Zitat des letzten Beitrags entfernt.
Jop, sind wir.
Sorry leute dass ich euch nochmal "nerve". So plötzlich wie es funktioniert hat, funktioniert es auch wieder nicht :evil: Was ist falsch :?:
---
Moderiert von
Narses: Beiträge zusammengefasst---
Fehler ist endgültig gefunden!
Noch ne frage zu den dynamischen Objekten. Gibt es für diese auch einen Befehl wie z.b. Edit1.Clear um sie zu leeren?
Andreas L. - So 01.11.09 18:57
Maisinator hat folgendes geschrieben : |
Fehler ist endgültig gefunden!
Noch ne frage zu den dynamischen Objekten. Gibt es für diese auch einen Befehl wie z.b. Edit1.Clear um sie zu leeren? |
Wenn du deine Edits in einer Objektliste hast gehts doch genau so wie mit ListViews:
Delphi-Quelltext
1:
| (ObjektListe[Index] as TEdit).Clear; |
Ab und zu mal denken... :roll:
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!