C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[48186] Re:파일 삭제가 실행되지 않는 이유.
소리바람.OJ [phonon] 1989 읽음    2007-02-24 19:38
a.out이라는 화일이 어느 프로세스에 물려 있는 듯 하군요.

작성하신 프로그램으로 삭제가 안 되시면, 종료 시키지 마시고 탐색기로 지워 보시기 바랍니다.
바로 삭제가 안 되고 에러 메세지가 나올 것 같군요.
그리고, 작성하신 프로그램을 종료하시고 지워 보세요.

약간의 시행착오를 거치시면서 디버깅을 하실 수 밖에 없네요.
가끔 NTFS 화일시스템인 경우, 권한 설정등이 잘못 되어서 삭제가 안 되는 경우도 있습니다.

따라서, 이런 경우의 대부분은 프로세스가 잡고 있어서 그렇다고 봅니다.


Dongkyu 님이 쓰신 글 :
: 제가 작성하고자 하는 프로그램은 다음과 같은 순서로 작업을 합니다.
:
: 1. FTP 서버로부터 데이터 파일을 다운 받습니다. (a.dat 이라고 하는 파일)
: 2. 외부 DOS 어플리케이션을 실행합니다. (CreateProcess()사용해서)
: 3. 어플리케이션이 실행되면, a.dat파일을 입력으로 받아서 a.out 이라고 하는 파일을 생성합니다.
: 4. 생성된 a.out 파일을 다시 ftp 서버로 전송합니다.
: 5. 전송이 끝난 후, 생성된 a.out 파일과 a.dat 파일을 삭제합니다.
:
: 그런데, 마지막 과정에서 a.dat 파일은 삭제가 되는데, a.out 파일이 삭제가 안됩니다.
:
: ftp 서버와의 접속은 Indy FTP 컴포넌트 (IdFTP)를 사용했습니다. 그리고, 저는 C++ Builder 6.0을 사용하고 있습니다.
: a.out 파일이 ftp 서버로 전송된 것은 확인이 되었습니다. 그리고, FTP 서버로의 전송 작업이 끝난 걸 확인하기 위해서,
: IdFTP 컴포넌트의 OnWorkEnd 이벤트에서 파일을 삭제하는 명령을 사용했습니다.
:
: Remove()명령과, DeleteFile() 명령을 사용해 보았고,
: if(FileExists(filename))DeleteFile(filename);
: 이렇게도 해 보았는데, 파일이 삭제가 안 됩니다. (a.out 파일만 삭제가 안됩니다.)
:
: 이게 혹시 DOS 실행 프로그램이 a.out 파일을 사용하고 있는 중이라서 안 되는 것인가요?
: (DOS 실행 프로그램의 종료는 프로세스로 확인해서 종료가 된 것을 확인했습니다.)
:
: 만약 문제가 프로그램이 파일을 사용해서 생기는 문제라면, 이걸 어떻게 확인할 수 있나요?
: 그리고, 만약 그렇다면 이 파일을 어떤 방법으로 삭제해야 되는지, 여러 분들의 도움을 부탁드립니다.
:
: 미리 감사드립니다.

+ -

관련 글 리스트
48183 파일 삭제가 실행되지 않는 이유. Dongkyu 1453 2007/02/23
48186     Re:파일 삭제가 실행되지 않는 이유. 소리바람.OJ 1989 2007/02/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.