[Gelöst] Problem mit TTreeView
-
HI
Ich möchte gerne Sachen in einem TTreeView abbilden!
Vorher möchte ich aber prüfen ob es so einen Eintrag nicht schon gibt!Das mache ich so:
AnsiString CompName; AnsiString Pfad; AnsiString Name; TTreeNode *Node; bool exist = false; Dirs->Items->Clear(); Dirs->Items->Add(NULL,"/"); Node = Dirs->Items->Item[0]; for(int i = 0; i < TempList->Count; i++) { CompName = TempList->Strings[i].SubString(1,TempList->Strings[i].Length() - 2); CompName.Delete(1,CompName.Pos("\"/\"") + 3); if(CompName.Pos("/") != 0) Name = CompName.SubString(1,CompName.Pos("/") - 1); else Name = CompName; // Hier steht also der Name des neuen Nodes drinne CompName = CompName.Delete(1,CompName.Pos("/")); exist = false; for(int x = 0; x < Node->Count;x++) { if(Node[x].Text == Name) // Hier Ändern { x = Node->Count; exist = true; } } if(!exist) { Dirs->Items->AddChild(Node,Name); } } }
Das klappt aber nur bis i = 2 ist (Count ist in dem Fall = 3) Dann bekomme ich eine Exeption! Mache ich was falsch oder woran kann das liegen!
Wenn ich erlich sein soll Habe ich das prinzip was dahinter steht auch noch nicht 100% verstanden trotz langem Hilfe lesen!
THX
Dagsta
Lösung:
Node->Item[x]->Text // So muss das sein
Editiert weil falsche Code version
-
Hallo
an welcher Stelle tritt denn die Exception auf?
Um das zu klären, must du das Programm debuggen.
Wie das geht, findets du z.B. hier http://www.junix.ch/bcb/help/debug.htmlbis bald
akari