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
[5911] Re:win32 sdk 함수 사용.
임승균.조로 [zoro] 2804 읽음    2001-03-06 15:38
안녕하세요

빌더 업데이트 받으시고요...업데이트 하고 나면 readme.txt가 있는데
잘 읽어보면 님과 같은 에러에 대한 해결방법이 나옵니다.
제가 간략하게 쓰면...

프로젝트옵션에서
conditional defines에 이거 추가 해줘요~~
NO_WIN32_LEAN_AND_MEAN

그럼 즐거운 하루되세요~~


악동 님이 쓰신 글 :
: 제가 사용하려는 함수는 SHGetPathFromIDList(...) 입니다.
: directory 선택하는 Dialog를 제공해 주는 함수이지요.
: 이 함수를 사용하기 위해 #include <shlobj.h> 했는데요.
:
: [C++ Error] shlobj.h(1762): E2238 Multiple declaration for 'FVSHOWINFO'
: [C++ Error] shlobj.h(1936): E2238 Multiple declaration for 'FOLDERSETTINGS'
: [C++ Error] shlobj.h(3717): E2238 Multiple declaration for 'DESKBANDINFO'
: [C++ Error] shlobj.h(4808): E2238 Multiple declaration for 'SHELLFLAGSTATE'
:
: 이런 에러가 여러개 납니다.
: 어떻게 사용해야 하는 건지.
: 빌더에서 sdk를 사용하는 방법이 잘못 된건지요?
:
: 답변 부탁드릴께요.
:
:
: 참고로 제가 작성한 코드는 아래와 같구요 VC++에서는 문제가 없던 코드랍니다.
: ###########################################################################
: String TSetupFrm::GetPathName(void)
: {
:
:     LPMALLOC g_pMalloc;
:     ITEMIDLIST *Pidl, *BrowsePidl;
:     char DisplayName[MAX_PATH];
:     BROWSEINFO BrowseInfo;
:     String sPathName="";
:
:     // IMalloc인터페이스의 포인터를 가져온다.
:     SHGetMalloc(&g_pMalloc);
:
:     // 스페셜폴더의 위치를 피들로 리턴해주는 함수입니다.
:     SHGetSpecialFolderLocation(this->Handle ,  CSIDL_DESKTOP , &Pidl);
:
:
:     // BROWSEINFO 구조체의 내용을 채웁니다.
:     BrowseInfo.hwndOwner = this->Handle;
:     BrowseInfo.pidlRoot = Pidl;
:     BrowseInfo.pszDisplayName = DisplayName;
:     BrowseInfo.lpszTitle = "Data가 저장될 장소를 선택하십시오.";
:     BrowseInfo.lpfn = NULL;
:     BrowseInfo.ulFlags = BIF_RETURNONLYFSDIRS | BIF_RETURNFSANCESTORS ;
:
:     // 채워진 구조체로 SHBrowseForFolder를 호출합니다.
:      if( (BrowsePidl=SHBrowseForFolder(&BrowseInfo))!=NULL )
:     {
:         if( SHGetPathFromIDList(BrowsePidl, DisplayName)!=FALSE )
:             sPathName= BrowseInfo.pszDisplayName;
:         else
:         Application->MessageBox("That is not a part of file system", "error", MB_OK);
:     }
:
:     // 사용한 피들들을 해제한다.
:     g_pMalloc->Free(Pidl);
:     g_pMalloc->Free(BrowsePidl);
:
:     // IMalloc인터페이스를 놓아준다.
:     g_pMalloc->Release();
:
:     return sPathName;
:
: }

+ -

관련 글 리스트
5907 win32 sdk 함수 사용. 악동 2711 2001/03/06
5911     Re:win32 sdk 함수 사용. 임승균.조로 2804 2001/03/06
5915         감샤합다..... @^0^@ 악동 2764 2001/03/06
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.