Я хочу использовать DLL COM в моей библиотеке C++. Как я понял, это #импорт файла .tlb dll, что я и сделал:
#import "mycom.tlb" no_namespace
Проблема в том, что я не совсем знаю, где разместить это объявление. это должно быть внутри файла H или файла CPP? или, может быть, файл stdafx.h? Я попытался поместить его в файл .cpp, просто для тестирования.
в файле H я объявил этот член:
ILogicSecuredPtr m_pbLogic;
(где ILogicSecured — это интерфейс, с которым я хочу работать в своей COM-dll)
Затем я добавил это в конструктор для создания экземпляра интерфейса:
CoInitialize(NULL);
m_pbLogic(__uuidof(LogicSecured));
(где LogicSecured — имя объекта, реализующего интерфейс)
В деструктор добавил:
CoUninitialize();
Однако это не скомпилируется, независимо от того, где я пытаюсь разместить объявление #import. он просто не распознает объект ILogicSecured. Я получаю эту ошибку в файле H:
Error 2 error C2146: syntax error : missing ';' before identifier 'm_pbLogic'
Я также должен упомянуть, что когда я нажимаю F12 (в Visual Studio) в объявлении ILogicSecuredPtr, он отлично переносит меня в файл tlh. Так что я знаю, что он признает это.
Что я здесь делаю неправильно?
Большое спасибо. Рой