Thema: Delphi AV bei TreeView

Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

AV bei TreeView

  Alt 20. Nov 2005, 17:11
Hi,

wenn ich folgende Procedure aufrufe bekomme ich eine Zugriffsverletzung.
Games ist ein Record.

Delphi-Quellcode:
procedure TMain.RefreshGames;
var i: Integer;
begin
 TreeView1.Items.Clear;
 for i:= 0 to GameCount-1 do begin
   TreeView1.Items.AddChild(nil,Games[i].Name);
  end;
end;
Bevor der Quellcode oben ausgeführt wird wird noch das ausgeführt:
(Wobei die nicht direkt nacheinander aufgerufen werden...)

Delphi-Quellcode:
procedure TMain.SetGames;
var i: Integer;
    Ini: TIniFile;
begin
 Ini := TIniFile.Create(ExtractFilePath(Application.ExeName)+'config.ini');
 with Ini do begin
  GameCount := Ini.ReadInteger('Count','Count',0);
  SetLength(Games,GameCount);
  for i:= 0 to GameCount-1 do begin
   Games[i].Name := Ini.ReadString('Game'+IntToStr(i),'Name','');
   Games[i].Path := Ini.ReadString('Game'+IntToStr(i),'Path','');
   Main.TreeView1.Items.AddChild(nil,Games[i].Name);
  end;
  Free;
 end;
 for i:= 0 to Main.TreeView1.Items.Count-1 do begin
  GetFiles('Mods\' + Main.TreeView1.Items.Item[i+found].Text + '\',Main.TreeView1.Items.Item[i+found]);
  // Das GetFiles Zeug ist nicht so wichtig...
 end;
end;
Ich verzweifel noch. Zuerst hatte ich gedacht ich hätte irgendwo Setlength(Games,GamesCount) vergessen aber das war nicht der Fall. Ich kann mir das einfach nicht erklären -.-

PS: Es hat, wie ich gerade gemerkt habe, auch nichts damit zu tun, das ich ungünstigerweise eine Eigenschaft "Name" genannt habe..
Michael
  Mit Zitat antworten Zitat