Hallo zusammen,
habe mit folgendem Code ein kleines Problem. Wollte eine ganz galante Lösung machen um ein Textfile einzulesen. Ich weiss, hätte es auch mit Readln und den ganzen alten Pascal Funktionen machen können.
Habe aber nun mit untenstehender Funktion ein kleines Problem. NAch FreeMem bekomme ich nämlich eine
access violation...
Jemand ne Idee?
Code:
procedure Languageeinlesen;
var
iFileHandle: Integer;
iFileLength: Integer;
iBytesRead: Integer;
Buffer: PChar;
i: Integer;
x: string;
begin
try
iFileHandle := FileOpen('AMS.LG', fmOpenRead);
iFileLength := FileSeek(iFileHandle,0,2);
FileSeek(iFileHandle,0,0);
Buffer := PChar(AllocMem(iFileLength + 1));
iBytesRead := FileRead(iFileHandle, Buffer, iFileLength);
FileClose(iFileHandle);
for i := 0 to iBytesRead-1 do
begin
StringGrid1.RowCount := StringGrid1.RowCount + 1;
StringGrid1.Cells[1,i+1] := Buffer[i];
StringGrid1.Cells[2,i+1] := IntToStr(Integer(Buffer[i]));
end;
finally
FreeMem(Buffer);
Gruss Günter