Пишу на C++Builder 5. Нужно Воспользоваться интерфейсом IActiveDesktop для работы с веб-содержимым рабочего стола. В MSDN сказано, что подключается он библиотекой 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'
Они декларируются в какой-то библиотеке, подключаемой вместе с vcl.h, а их там много :)
Т.е. декларируются они и в shlobj.h и где-то еще.....
Я ДАЖЕ пытался вырезать эти структуры из shlobj.h, но это привело к появлению еще большего числа ошибок (чего, собственно, и следовало ожидать...:)
И как тут быть???
И еще, что интересно. Отключаешь библиотеку vcl.h и перестают узнаваться функции из IActiveDesktop.
Бред какой-то, но если подключены библ. и vcl.h, и shlobj.h, то IActiveDesktop виден, а если хоть одна из них отключена, то не виден....... А включены обе, то ошибка множественной декларации о которой я писал.....