Autor Beitrag
baer_en
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Fr 25.04.08 13:43 
Hallo,

ich bin gerade für die FOS-Prüfung in delphi fleißig am lernen und hab ma ne kleine frage:
Ich bin gerade am rätseln wo mein Fehler liegt...
Wenn ich aus einer Datei einzelne Zeilen auslesen und in eine Stinglist speichern will bringt der compiler einen fehler!
Quelltext:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
procedure TForm1.Button1Click(Sender: TObject);
var addresse,line : string;
        i : integer;
        sl : TStringlist;
begin

sl.Create;
i:= 0;
addresse := ed_addresse.text;
assignfile(datei,addresse);
reset(datei);

while eof(datei) <> true do
begin
readln(datei,line);
sl.add(line);
memo1.lines.add(sl[i]);
i:=i+1;

end;

sl.free;
closefile(datei);  //Nach dieser Zeile springt er zur Fehlermeldung!

       
end;


ausblenden Quelltext
1:
2:
Fehler :
'access violation at 0x004044b2: read of address 0xfffffffc'. Prozeß angehalten.

Ausserdem steht in der Variable line das richtige drin nur die sl beinhaltet () laut compiler!


Danke für Hilfe schonmal.
Gruß baer

Moderiert von user profile iconGausi: Delphi-Tags hinzugefügt
jakobwenzel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1889
Erhaltene Danke: 1

XP home, ubuntu
BDS 2006 Prof
BeitragVerfasst: Fr 25.04.08 13:58 
Warum er erst nach dem Closefile die Fehlermeldung bringt, weiß ich nicht, der Fehler liegt aber hier:
ausblenden Quelltext
1:
sl.Create;					

Richtig sieht diese Zeile so aus:
ausblenden Delphi-Quelltext
1:
sl:=TStringList.Create;					


Wofür brauchst du eigentlich diese StringList?

Abgesehen davon kannst du mit Memo1.Lines.LoadFromFile den Dateiinhalt viel einfacher ins Memo kriegen.

_________________
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
baer_en Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Fr 25.04.08 14:10 
Danke für deine Hilfe das war die Lösung ...
Was eine Zeile an Nerven kosten kann :)

Die umständliche Art war nur als Lerneffekt gedacht um mehrere Komponenten zu benutzen!

Danke schoen