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
[48183] 파일 삭제가 실행되지 않는 이유.
Dongkyu [] 1453 읽음    2007-02-23 18:52
제가 작성하고자 하는 프로그램은 다음과 같은 순서로 작업을 합니다.

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 1990 2007/02/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.