Einzelnen Beitrag anzeigen

Benutzerbild von maximus Caesar
maximus Caesar

Registriert seit: 26. Sep 2004
Ort: Biberach
319 Beiträge
 
Turbo Delphi für Win32
 
#1

2 unerklärliche Fehlermeldungen

  Alt 14. Jan 2007, 11:32
Hallo!
Ich bekomme zwei Fehlermeldungen die ich mir nicht erklären kann. Die erste ist vom Typ "" ist kein Itegerwert, die zweite "ungültige Zeigeroperation", in dieser Reihenfolge.
In diesem Bereich des Programmtextes treten Sie auf:

Delphi-Quellcode:
procedure TKonsole.LadeGrundgebaeude;
var i,i2:Integer;
    a:String;
begin
 try
  GrundGebaeude:=TobjectList.Create;
  Aufteilen:=TAufteilen.Create;
  Form1.Memo1.Clear;
  Form1.Memo1.Lines.LoadFromFile('data/Gebäude.dat');
  for i:=0 to Form1.Memo1.Lines.Count-1 do
  begin
   a:=Form1.Memo1.Lines[i];
   delete(a,3,length(a));
   if a<>'//then begin
     Aufteilen.Explode(Form1.Memo1.Lines[i],',');
     i2:=Grundgebaeude.Add(TGrundgeb.Create);
     (Grundgebaeude.Items[i2] as TGrundgeb).ID:=StrToInt(Aufteilen.Werte[0]); //Byte
     (Grundgebaeude.Items[i2] as TGrundgeb).Name:=Aufteilen.Werte[1]; //String
     (Grundgebaeude.Items[i2] as TGrundgeb).Name2:=Aufteilen.Werte[2]; //String
     (Grundgebaeude.Items[i2] as TGrundgeb).Index:=StrToInt(Aufteilen.Werte[3]);//Byte
   end;
  end;
 finally
  Aufteilen.Free;
 end;
end;
Aufteilen gibt als Werte ein Array[0..3]of String zurück

Die Prozedur wird über einen Timer Aufgerufen, ca. 250 Milisekunden nach Anwendungsstart:
Delphi-Quellcode:
procedure TForm1.TimerStartTimer(Sender: TObject);
begin
  Konsole.LadeGrundgebaeude;
  TimerStart.Enabled:=False;
end;
Hier wird die Konsole erstellt:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  randomize;
  Einstellungen:=TEinstellungen.Create;
  menueaktiv:=False;
  menueBtn.Enabled:=False;
  AnzahlStaedte:=0;
  Ansicht:=0;
  Index:=1;
  AktiveTown:=-1;
  Konsole:=TKonsole.Create;
  ID:=0;
  Laeden:=TObjectList.Create;
  Productions:= TObjectList.Create;
end;
Der Inhalt der Datei ist so aufgebaut:
Delphi-Quellcode:
//Hier kann ein Kommentar stehen
1,Spielwarenladen,Spielwarenfabrik,1
2,Sportgeschäft,Sportindustrie,1
Sieht jemand den Fehler?
  Mit Zitat antworten Zitat