Исходники
Статьи
Языки программирования
.NET Delphi Visual C++ Borland C++ Builder C/С++ и C# Базы Данных MySQL MSSQL Oracle PostgreSQL Interbase VisualFoxPro Веб-Мастеру PHP HTML Perl Java JavaScript Протоколы AJAX Технология Ajax Освоение Ajax Сети Беспроводные сети Локальные сети Сети хранения данных TCP/IP xDSL ATM Операционные системы Windows Linux Wap Книги и учебники
Скрипты
Магазин программиста
|
Ishodniki.Ru » Online книги » C++ Builder по шагам Шаг 38 - Про BROWSEINFO и <shlobj.h> Написать этот шаг меня побудило одно письмо. Его автор мне задал вопрос, как в C++ Builder использовать BROWSEINFO, если при присоединении заголовочного файла shlobj.h вылетает сообщение о множественном объявлении FVSHOWINFO и иже с ними. Я, собственно, как человек в меру вежливый ;) ответил, но мне письмо его вернулось. То есть ответить никак нельзя. Так что я решил про это шаг написать. Вообще функции WinAPI не очень часто конфликтуют с C++Builder'ом, но эти - да. Например, как обычно, присоединяем через #include этот файл <shlobj.h>. Никакого кода не пишем, пробуем скомпилировать. Ну и, как предполагалось, сообщение компилятора: Что же против этого делать надо? В самом начале .cpp файла, перед всеми #include, пишем директиву объявления макроса #define NO_WIN32_LEAN_AND_MEAN, вот так. //--------------------------------------------------------------------------- #define NO_WIN32_LEAN_AND_MEAN #include <vcl.h> #include <shlobj.h> #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" После этого пробуем откомпилировать. Как это ни странно :), все компилируется, правда, немного дольше, чем до этого. |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Рейтинги
|