Шаг 183.
Среда программирования Visual C++.
Создание компонента доступа к базе данных для STUpload

    На этом шаге мы рассмотрим создание компонента для приложения STUpload.

    На этом шаге мы вернемся к проекту STUpload и создадим СОМ-сервер STLoadData.dll, встраиваемый в процесс и содержащий компонент UploadStockData. Этот компонент предоставит интерфейс IUploadStockData с тремя методами: ConnectToDatabase(), Disconnect() и UploadRecord().

    Начнем с создания проекта STLoadData в рабочей области STUpload.

    Посмотрите на файл STLoadData.idl и обратите особое внимание на определение интерфейса:

[
	object,
	uuid(DF5923AB-EED0-4358-9889-291C8AF172FE),
	dual,
	helpstring("IUploadStockData Interface"),
	pointer_default(unique)
]
interface IUploadStockData : IDispatch
{
  [id(1), helpstring("method UploadRecord")] HRESULT UploadRecord([in] 
           BSTR fund,   [in] DATE date,   [in] double price,   
           [in] BSTR uplBy,   [in] DATE uplDate);
  [id(2), helpstring("method ConnectToDatabase")] HRESULT ConnectToDatabase();
  [id(3), helpstring("method Disconnect")] HRESULT Disconnect();
};
Текст измененного приложения можно взять здесь (140,0 Кб).

    Обратите внимание, как интерфейс IUploadStockData наследует интерфейсу IDispatch. Именно так в ATL реализуется двойной интерфейс. Клиенты, созданные на языках сценариев, смогут обращаться к компоненту UploadStockData через диспетчерский интерфейс, а клиенты Visual C++ и Visual Basic - напрямую через таблицу vtable.

    Со следующего шага мы начнем знакомиться с клиентами COM.




Предыдущий шаг Содержание Следующий шаг