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?