AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fehler bei neuem Eintrag einer TreeView

Ein Thema von -NIP- · begonnen am 17. Nov 2005 · letzter Beitrag vom 17. Nov 2005
Antwort Antwort
Benutzerbild von -NIP-
-NIP-

Registriert seit: 6. Jun 2004
Ort: Aachen
254 Beiträge
 
Delphi 7 Personal
 
#1

Fehler bei neuem Eintrag einer TreeView

  Alt 17. Nov 2005, 20:51
Hi!

In meinem Programm gibt es immer eine AV, wenn ich folgenden Code auslöse:
Delphi-Quellcode:
  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;
TreeViewKomponente = ObjectsTreeTV

Wenn ich die "AddGroup"-Prozedur nicht ausführe kommt der Fehler nicht.
Die AddGroup-Prozedur sieht so aus:
Delphi-Quellcode:
//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;
Groups ist ein dynamisches Array.

Habt ihr vllt. eine Idee?
Christian
  Mit Zitat antworten Zitat
tigerman33

Registriert seit: 30. Jul 2005
Ort: München
423 Beiträge
 
Delphi 2005 Professional
 
#2

Re: Fehler bei neuem Eintrag einer TreeView

  Alt 17. Nov 2005, 21:21
Schuss ins Blaue: Ist Selected vielleicht nil?
Christian
Der Computer hilft mir, Probleme zu lösen, die ich ohne Computer nicht hätte.
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#3

Re: Fehler bei neuem Eintrag einer TreeView

  Alt 17. Nov 2005, 21:25
Zitat:
self.Groups[Length(self.Groups)].Create;
Du willst eine Instanz an einer Speicherstelle, die zu einer hohen Wahrscheinlichkeit nicht dir gehört, in einem Arrayitem, das nicht existiert, speichern.
Groups[High(Groups)] := TGroup.Create;
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von -NIP-
-NIP-

Registriert seit: 6. Jun 2004
Ort: Aachen
254 Beiträge
 
Delphi 7 Personal
 
#4

Re: Fehler bei neuem Eintrag einer TreeView

  Alt 17. Nov 2005, 21:48
Wenn ich den Code aber in diesen umwandle, kommt der selbe Fehler:

Delphi-Quellcode:
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;
Selected ist nicht nil.
Christian
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

Re: Fehler bei neuem Eintrag einer TreeView

  Alt 17. Nov 2005, 22:10
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;
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
Benutzerbild von -NIP-
-NIP-

Registriert seit: 6. Jun 2004
Ort: Aachen
254 Beiträge
 
Delphi 7 Personal
 
#6

Re: Fehler bei neuem Eintrag einer TreeView

  Alt 17. Nov 2005, 22:25
Danke, das klappt jetzt.
Christian
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:29 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