![]() |
Fehler bei neuem Eintrag einer TreeView
Hi!
In meinem Programm gibt es immer eine AV, wenn ich folgenden Code auslöse:
Delphi-Quellcode:
TreeViewKomponente = ObjectsTreeTV
GroupCount:= GroupCount+1;
S3DObjekt.AddGroup('Gruppe '+IntToStr(GroupCount),true); //In Zeile unter dem Kommentar kommt Fehler with ObjectsTreeTV.Items.AddChildFirst(ObjectsTreeTV.Selected,'Gruppe '+IntToStr(GroupCount)) do begin ImageIndex:= 1; MakeVisible; SelectedIndex:= 1; Data:= S3DObjekt.Groups[Length(S3DObjekt.Groups)]; end; Wenn ich die "AddGroup"-Prozedur nicht ausführe kommt der Fehler nicht. Die AddGroup-Prozedur sieht so aus:
Delphi-Quellcode:
Groups ist ein dynamisches Array.
//In dieser Prozedur kommt kein Fehler beim Ausführen
procedure TS3DObject.AddGroup(Name:String; Visible: Boolean); begin SetLength(self.Groups,Length(self.Groups)+1); self.Groups[Length(self.Groups)].Create; self.Groups[Length(self.Groups)].Visible:= Visible; self.Groups[Length(self.Groups)].Name:= Name; end; Habt ihr vllt. eine Idee? |
Re: Fehler bei neuem Eintrag einer TreeView
Schuss ins Blaue: Ist Selected vielleicht nil?
|
Re: Fehler bei neuem Eintrag einer TreeView
Zitat:
Delphi-Quellcode:
Groups[High(Groups)] := TGroup.Create;
|
Re: Fehler bei neuem Eintrag einer TreeView
Wenn ich den Code aber in diesen umwandle, kommt der selbe Fehler:
Delphi-Quellcode:
Selected ist nicht nil.
procedure TS3DObject.AddGroup(Name:String; Visible: Boolean);
begin SetLength(self.Groups,High(self.Groups)); self.Groups[High(self.Groups)]:= TS3DGroup.Create; self.Groups[High(self.Groups)].Visible:= Visible; self.Groups[High(self.Groups)].Name:= Name; end; |
Re: Fehler bei neuem Eintrag einer TreeView
Das Length+1 beim SetLength war ja auch richtig, du musst nur bei den Indizes High benutzen.
Delphi-Quellcode:
procedure TS3DObject.AddGroup(Name:String; Visible: Boolean);
begin SetLength(self.Groups,Length(self.Groups)+1); self.Groups[High(self.Groups)]:= TS3DGroup.Create; self.Groups[High(self.Groups)].Visible:= Visible; self.Groups[High(self.Groups)].Name:= Name; end; |
Re: Fehler bei neuem Eintrag einer TreeView
Danke, das klappt jetzt.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:06 Uhr. |
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