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
[59398] Re:Re:OpenDialog에 대한 디렉토리 핸들 문제.
음 질문이 좀 애매했 [] 1919 읽음    2009-12-10 02:34
if(OpenDialog1->Execute())
{
     // c:\test\tmp\test.txt
     Edit1->Text = OpenDialog1->FileName;
}

만약 위처럼 선택한 후 폴더 및 파일에 대한 수정작업을 하려고 합니다.
이름 변경, 위치 변경, 삭제 등.

그런데 위처럼 하게 되면 정작 test.txt 파일에 대한 수정에는 문제가 없으나,

c:\test\tmp\ 경로에 대한 핸들이 잡혀 있어 디렉토리 명을 변경하는 등에 문제가 발생합니다.

OpenDialog가 하는 일은 단지 작업할 경로만 가져와서 수정을 하고 싶은건데.
OpenDialog가 핸들을 잡고 있어서 수정이 안되고 있습니다.


///////////////////////////////////////////////////////////////////////////////////////////////

heaven2 님이 쓰신 글 :
: OpenDialog를 열 때 항상 일정한 디렉토리를 지정하고 싶으신건가요?
: 그렇다면..이렇게 하니 되네요.
:
: OpenDialog1->FileName = "default로지정할 파일명"; // "C:\\Program Files\\aa.txt" 이렇게..
: OpenDialog1->Execute();
:
:
: 범이 님이 쓰신 글 :
: : 아래의예와 같이 특정 파일을 선택하고 그에 대한 수정작업을 하려고 합니다.
: :
: : if(OpenDialog1->Execute())
: : {
: :     Edit1->Text = OpenDialog1->FileName;
: : }
: :
: : 만약 선택한 파일이 c:\test\tmp\test.txt 를 선택하였을 경우에
: : 이때 c:\test\tmp\ 디렉토리에 대해 핸들을 잡고 있더라구요.
: :
: : 정작 파일 자체에는 핸들을 잡지 않고요.
: :
: : 이렇게 잡혀 있는 핸들을 다시 위 코드처럼 해서 다른 폴더의 파일을 선택하면
: : 위 디렉토리의 핸들이 풀리구요
: :
: : OpenDialog1->FileName = "다른 디렉토리 파일";
: : 위처럼 코드상에서 바로 다른 파일을 선택할 때엔 이전 디렉토리가 잡혀 있구요.
: :
: : 이에 대한 핸들 해제를 어떻게 해야 할지 조언을 부탁 드립니다.

+ -

관련 글 리스트
59380 OpenDialog에 대한 디렉토리 핸들 문제. 범이 2247 2009/12/08
59395     Re:OpenDialog에 대한 디렉토리 핸들 문제. heaven2 2268 2009/12/09
59398         Re:Re:OpenDialog에 대한 디렉토리 핸들 문제. 음 질문이 좀 애매했 1919 2009/12/10
59399             Re:Re:Re:OpenDialog에 대한 디렉토리 핸들 문제. 장성호 2658 2009/12/10
59414                 Re:Re:Re:Re:OpenDialog에 대한 디렉토리 핸들 문제. 범이 2078 2009/12/10
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.