Статья: Введение в ADO

атрибуты:

exclude - исключает генерируемого в заголовочных файлах кода определенные элементы или библиотеки типов

high_method_prefix - задает префикс, который будет ставится в начале имен методов и свойств верхнего уровня

high_property_prefixes - задает префикс для стандартных имен Get, Put и PutRef, который будет поставлен в начале имени метода при обращении к свойству.

implementation_only - запрещает создание основного заголовочного файла

include(…) - включает объявления других библиотек типов, определение которых встречаются в других системных файлах

inject_statement - помещает строку текста в начале объявления объявления пространства имен заголовочного файла для библиотеки типов.

named_guides - указывает компилятору определить и инициализировать переменные со старыми GUID

no_auto_exclude - запрещает автоматическое исключение определений элементов

no_implementation - запрещает генерацию файла .tli

no_namespace - Не используется пространство имен, спецификация которого находится в операторе library

raw_dispinterfaces - указывает компилятору генерировать все вызовы методов и свойств посредством функции Invoke и возвращать код ошибки HRESULT. Оболочки верхнего уровня не генерируются.

raw_interfaces_only - позволяет предоставить содержимое библиотеки типов только нижнего уровня, подавляя генерацию заготовок функций верхних уровней

raw_method_prefix - присоединяет к заданному имени префикс raw_, который обычно подключается к функциям-членам низкого уровня

raw_native_types - заставляет использовать типы данных нижнего уровня (вместо _bstr_t - BSTR, вместо _variant_t - VARIANT)

raw_property_prefixes - позволяет задать префикс нижнего уровня для методов-свойств put, get и putref

rename - переименовывает библиотеку типов и предотвратить повторное использование имен

rename_namespace - указывает пространство имен, содержащее информацию о библиотеке типов.Итак, после нудных разъяснений по директиве #import, рассмотрим, каким образом ее (директиву) можно использовать для включения интерфейсов ADO в наше приложение.

Пропишем в файл stdafx.h (например) пресловутую директиву следующим образом:

#import "c:Program FilesCommon FilesSystemADOmsado15.dll"

no_namespace rename("EOF","ADOEOF")

В данном случае создаются классы из библиотеки типов msado15.dll, реализующей объекты ADO и поставляемой в рамках OLE DB SDK.

В параметре rename приходится переименовывать ADO константу EOF, так как она уже используется в заголовочных файлах stdio.h, ios.h, stream.h, включенных в afxwin.h.

4. Инициализация COM.

Здесь все просто:

перед работой с объектами ADO необходимо инициализировать среду COM. Делается это посредством вызова API функции

HRESULT CoInitialize(LPVOID pvReserved );

где

pvReserved пареметр, равный NULL .

Для выгрузки COM применяется функция

К-во Просмотров: 492
Бесплатно скачать Статья: Введение в ADO