Thema: Delphi readln wirft mit fehlern

Einzelnen Beitrag anzeigen

katz0r

Registriert seit: 20. Okt 2005
2 Beiträge
 
#1

readln wirft mit fehlern

  Alt 20. Okt 2005, 21:31
Hallo Leute,

ich bin neu hier, hab mich grad angemeldet, weil ich echt nimmer weiter weiss mit meinem Programm! Ich hab schon mehrere Stunden gegoogelt und finde einfach nix. So, genug geweint hier das Problem :

Die folgende Prozedur spuckt "Invalid Pointer Operation" wenn das readln() gleich vor dem letzten end; aufgerufen wird.

Delphi-Quellcode:

procedure tdxffile.parsetext;
var s : String; i : integer;
begin
  i := length(texts);
  inc(i);
  setlength(texts, i);

  readln(datei, s);
  while(s) <> ' 0do
  begin
    if strtoint(s) = 1 then
    begin
      readln(datei, s);
      texts[i].text := s;
    end
    else if strtoint(s) = 10 then
    begin
      readln(datei, s);
      texts[i].x1 := strtofloat(s);
    end
    else if strtoint(s) = 20 then
    begin
      readln(datei, s);
      texts[i].y1 := strtofloat(s);
    end
    else if strtoint(s) = 30 then begin
      readln(datei, s);
      texts[i].z1 := strtofloat(s);
    end
    else readln(datei, s);
   // s := '';
    readln(datei, s);
  end;
  readln(datei, s); //hier wird die Exception geworfen
  if s = 'LINEthen parseline else if s = 'TEXTthen parsetext else fakeparseentity;
end;
Aber seltsamerweise erst wenn s einmal 10 war...das heisst, die schleife läuft einmal mit s=7 und einmal mit s=8 durch ohne was zu tun, dann kommt s=10, der wert wird in mein array gespeichert und beim nächsten readln kackt er mir ab!
  Mit Zitat antworten Zitat