Q&A

  • fileread
============================================================

procedure TForm1.Button1Click(Sender: TObject);



var

iFileHandle: Integer;

iFileLength: Integer;

iBytesRead: Integer;

Buffer: PChar;

i: Integer

begin

if OpenDialog1.Execute then

begin

try

iFileHandle := FileOpen(OpenDialog1.FileName, 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);

end;

end;

end;

====================================================================



위와 같이 코딩을 하였는데 메모리에러가 나더군요....

위의 소스는 help에 나오는것데.....

왜 메모리에러가 나는지 아시는 분은 알려 주세요....



그럼 이만.....

0  COMMENTS