어휴 감사합니다... 제가 원하는 기능이네여...
근데 역쉬 에러가 뜨는데...
[C++ Error] Unit1.cpp(35): E2268 Call to undefined function 'GlobalFreePtr'
라는 멋진 에러가 뜨네여...
GlobalFreePtr( ItemID );
에서 에러가 뜨구여... 해결할 방법이 있는지...
그래서 이넘을 주석처리하고 하니 잘되네여...
이넘의 기능은 무엇이고 해결할 방법은 무엇인지 질문합니다...
좀 잘 아시는 분이시면 아래 디렉토리만 선택하는 다이얼로그
소스를 적어놓을테니까여 주석좀.. -_-;;;
그럼 소스 나갑니다.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
BROWSEINFO BrowsingInfo;
char DirPath[MAX_PATH];
char FolderName[MAX_PATH];
LPITEMIDLIST ItemID;
memset( &BrowsingInfo, 0, sizeof(BROWSEINFO) );
memset( DirPath, 0, MAX_PATH );
memset( FolderName, 0, MAX_PATH );
BrowsingInfo.hwndOwner = Handle;
BrowsingInfo.pszDisplayName = FolderName;
BrowsingInfo.lpszTitle = "폴더를 선택하세요.";
BrowsingInfo.ulFlags = BIF_RETURNONLYFSDIRS;
ItemID = SHBrowseForFolder( &BrowsingInfo );
SHGetPathFromIDList(ItemID, DirPath );
ShowMessage( DirPath );
GlobalFreePtr( ItemID );
}
버튼 클릭 이벤트에 이렇게 넣어주시구여
#include <shlobj.h>
을 위에 첨가해주시구여...
컴파일하면
Multiple declaration for FVSHOWINFO라는 에러가 뜨고 비슷하게 3개가
더 뜨는데요
이것은 프로젝트옵션에서
conditional defines에 NO_WIN32_LEAN_AND_MEAN 추가 해주시면 해결됩니다.
그럼 저는
GlobalFreePtr( ItemID );
여기서 에러가 뜨는데... 걍 주석처리하면 컴파일되고
버튼을 누르면 폴더찾는 트리뷰가 뜹니다... 이 에러만 해결하면 당장 실무에 쓸수 있다는...
ㅋㅋ
그리고 이것을 폼내에 삽입할려면 어케하져? -_-?
그럼 답변 부탁드립니다.
박진훈 님이 쓰신 글 :
: SHBrowseForFolder함수를 사용하시면 될것 같네여..
:
:
http://www.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_qna&no=10561