C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 38 - Про BROWSEINFO и <shlobj.h> / С++ Builder 5 / Borland C++

Шаг 38 - Про BROWSEINFO и <shlobj.h>

Написать этот шаг меня побудило одно письмо. Его автор мне задал вопрос, как в C++ Builder использовать BROWSEINFO, если при присоединении заголовочного файла shlobj.h вылетает сообщение о множественном объявлении FVSHOWINFO и иже с ними.

Я, собственно, как человек в меру вежливый ;) ответил, но мне письмо его вернулось. То есть ответить никак нельзя. Так что я решил про это шаг написать.

Вообще функции WinAPI не очень часто конфликтуют с C++Builder'ом, но эти - да. Например, как обычно, присоединяем через #include этот файл <shlobj.h>. Никакого кода не пишем, пробуем скомпилировать. Ну и, как предполагалось, сообщение компилятора:

gif/38_1.gif (2516 b)

Что же против этого делать надо? В самом начале .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"

После этого пробуем откомпилировать. Как это ни странно :), все компилируется, правда, немного дольше, чем до этого.


| |
Автор Аванесов Самвел.
[AD]