Q&A

  • [질문] text 파일 열때 파일을 i/o error 183 에러
테스트 파일을 읽고 닫으려고 하면 i/o error 183 에러가 납니다.

.........
closefile(OutErrF);
.........

그래서 테스트파일을 닫기전에 열여있거나 사용하고 있는지 확인해서
처리하려고 하는데 어떻게 처리 해야 하나요?

1  COMMENTS
  • Profile
    구창민 2008.07.23 00:11
    안녕하세요...
    아래코드를 참고하세요..

    function IsFileInUse(fName: string): boolean;
    var
    HFileRes: HFILE;
    begin
    Result := false;
    if not FileExists(fName) then
    exit;
    HFileRes := CreateFile(pchar(fName), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
    Result := (HFileRes = INVALID_HANDLE_VALUE);
    if not Result then
    CloseHandle(HFileRes);
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    if IsFileInUse('d:\a.xls') then
    begin
    ShowMessage('사용중');
    end
    else
    begin
    ShowMessage('미 사용중');
    end;
    end;