system folder beispiel aus der psdk: mehrfachdeklarationen
-
hola leute
hab aus der psdk ein beispiel 1:1 uebernommen und ich hab da n kleines problem.
der source:
void __fastcall TForm1::Button2Click(TObject *Sender) { LPMALLOC pMalloc = NULL; IShellFolder *psfParent = NULL; LPITEMIDLIST pidlSystem = NULL; LPCITEMIDLIST pidlRelative = NULL; STRRET strDispName; TCHAR szDisplayName[MAX_PATH]; HRESULT hr; hr = SHGetMalloc(&pMalloc); hr = SHGetFolderLocation(NULL, CSIDL_SYSTEM, NULL, NULL, &pidlSystem); hr = SHBindToParent(pidlSystem, IID_IShellFolder, (void **) &psfParent, &pidlRelative); if(SUCCEEDED(hr)) { hr = psfParent->GetDisplayNameOf(pidlRelative, SHGDN_NORMAL, &strDispName); hr = StrRetToBuf(&strDispName, pidlSystem, szDisplayName, sizeof(szDisplayName)); //cout << "SHGDN_NORMAL - " <<szDisplayName << '\n'; info->Lines->Add(AnsiString("SHGDN_NORMAL - ") + AnsiString(szDisplayName)); } psfParent->Release(); pMalloc->Free(pidlSystem); pMalloc->Release(); }Fehlermeldung:
[C++ Fehler] shobjidl.h(2194): E2238 Bezeichner 'FOLDERSETTINGS' mehrfach deklariert
[C++ Fehler] shobjidl.h(8097): E2238 Bezeichner 'DESKBANDINFO' mehrfach deklariert
[C++ Fehler] shlobj.h(1422): E2238 Bezeichner 'FVSHOWINFO' mehrfach deklariert
[C++ Fehler] shlobj.h(3457): E2238 Bezeichner 'SHELLFLAGSTATE' mehrfach deklariertdas beispiel hab ich von -> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/programmersguide/shell_basics/shell_basics_programming/folder_info.asp
jemand ne idee oder auch schon mal das problem gehabt ?
Meep Meep
-
steht doch da. du hast zu viele header inkludiert die das selbe definieren. sprich überprüf mal deine header und inkludes.
@offtopic
blöde frage gibt es ne psdk für das borland ding?
-
hoi miller_m
jo die psdk is beim bcb includiert.
headerfiles hab ich nur die beiden im beispiel angegebenen includiert.
#include <Classes.hpp> // VCL #include <Controls.hpp> // VCL #include <StdCtrls.hpp> // VCL #include <Forms.hpp> // VCL #include <shlobj.h> #include <shlwapi.h> // <- die beiden nurkoennte mal jemand der nen bcb6er hat mal die beiden files einbinden und testen ob er den gleichen fehler bekommt ? irgendwie befuerchte ich, das das ein problem vom bcb ist.
Meep Meep
-
problem geloest. falls es jemand interessieren sollt:
vor dem includieren der vcl.h muss man
#define NO_WIN32_LEAN_AND_MEANeinfuegen.
Meep Meep