볼랜드 QC에 다음 문서가 있습니다.
http://qc.borland.com/wc/qcmain.aspx?d=753
데이터 파일이 2GB보다 큰경우 Seek할 때 오류가 발생한다고 되어있습니다.
빌드넘버 7.0.4.453 이상에서 해결이 되어 있다는군요.
버전을 확인해보시길 바랍니다.
자유게시판에서 쓰는 것이야 괜찮겠지만, 질문할 땐 ~셈 체는 자제를 해주시는 편이 좋겠습니다.
경우에 따라 상당히 무례해 보일 수도 있거든요.
박성준 님이 쓰신 글 :
: 아래 소스에서 에러가 나네요...
: 알려주셈
:
: procedure TMainfrm.DeleteRecord;
: var
: CurPos, RecordNo, i: integer;
: Buffer: array[0..MAX] of TMyRecord;
: begin
: if MessageDlg('정말 지우시렵니까?', mtConfirmation, [mbYes, mbNo], 0) = mrNo
: then Exit;
: if NewRecord then
: begin
: ReadRecord;
: NewRecord := False;
: EnableButtons(True);
: Exit;
: end;
: CurPos := FilePos(MyFile);
: RecordNo := FileSize(MyFile) - CurPos - 1;
: if (FilePos(MyFile) < (FileSize(MyFile) - 1)) then
: begin
: Seek(MyFile, FilePos(MyFile) + 1);
: i := 0;
: while not EOF(MyFile) do
: begin
: Read(MyFile, Buffer[i]);
: Inc(i);
: end;
: Seek(MyFile, CurPos);
: Truncate(MyFile);
: for i := 0 to RecordNo - 1 do
: write(MyFile, Buffer[i]);
: end
: else
: begin
: Truncate(MyFile);
: Dec(CurPos);
: end;
: Seek(MyFile, CurPos);
: ReadRecord;
: end;