Einzelnen Beitrag anzeigen

Henni

Registriert seit: 1. Jul 2003
Ort: Chemnitz
9 Beiträge
 
Delphi 5 Standard
 
#1

EXCEPTION EAccessViolation beim füllen eines StringGrid

  Alt 1. Jul 2003, 22:20
es geht darum commaseparated-values (*.CSV) in ein StringGrid zu schreiben. leider tritt dabei ein falscher fehler auf. das programm läuft aber nach weg-klicken der fehlermeldung weiter und das resultat stimmt auch. der fehler tritt leider auch bei kleinen datein (1000byte) auf. achja ... danach gibt es noch eine "Zugriffsverletzung".

Wäre schön, wenn mir jemand helfen könnte ! hier nochmal der code:

Code:
procedure TForm1.Button2Click(Sender: TObject);
var f1, f2: textfile;
    l1, l2: string;
    p1, p2: PChar;
    t: string;
    a: char;
    i, c, r: integer;
begin
  AssignFile(f1, pfad + s2); //s1 und s2 sind die dateinamen
  AssignFile(f2, pfad + s1);
  Reset(f1);
  Reset(f2);
  r:= 0;
  while not eof(f1) do // zeilenweises lesen der datei
  begin
    readln(f1, l1);
    StrPCopy(p1, l1);
    t:= '';
    c:= 0;
    for i:= 0 to strlen(p1) do
    begin
      if (p1[i]='|') or (p1[i]=';') then   // seperator gefunden ?
      begin
        StringGrid2.Cells[c, r]:= t;
        t:= '';
        inc(c);
      end else
      begin
        a:= p1[i];
        t:= t + a;
      end;
    end;
    inc(r);
    StringGrid2.RowCount:= StringGrid2.RowCount + 1;
  end;
  CloseFile(f1);
  CloseFile(f2);
end;
Vielen Dank im voraus !
Henni
Miniaturansicht angehängter Grafiken
eaccesviolation.jpg   zugriffsverletzung.jpg  
  Mit Zitat antworten Zitat