Здравствуйте, algol, Вы писали:
A>Здравствуйте, Базунов Сергей, Вы писали:
БС>>Как правильно импортировать библиотеку типов в IDE, что бы
БС>>использовать этот сервер? Сервер работает с определенными
БС>>составными структурами данных, да и вообще мне для
БС>>получения интерфейса, нужно как минимум GUID фабрики класса, и GUID интерфейса.
БС>>Директива #import 'C:\anygoodpath\name.tlb' не приводит ни к чему хорошему.
БС>>После компиляции, компилятор создал ЕЩЕ 2 файла name.tlh and name.tli
БС>>и поет старую песню: undeclared identifier
A>Наверное нужно указывать для идентификаторов namespace импортированной библиотеки или написать
A>using namespace someLib;
A>Если хочется получить GUID в виде LIBID_MyLib, CLSID_MyCoClass, IID_MyInterface, то нужно в директиве #import указать атрибут named_guids.
спасибо. Все получилось.
// test2.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#import "dbmanager.tlb" named_guids
using namespace dbmanager;
int _tmain(int argc, _TCHAR* argv[])
{
CoInitialize(NULL);
IBinFileManger* mgr = NULL;
CoCreateInstance(CLSID_BinFileManger,NULL,CLSCTX_INPROC_SERVER, IID_IBinFileManger,(LPVOID*)&mgr);
mgr->ShowMsg(L"Hello, from Delphi COM Server");
mgr->Release();
CoUninitialize();
return 0;
}