Может ли кто-нибудь помочь мне создать простой COM-класс с VC++, который я могу назвать его приложением VB6 с помощью CreateObject?VC++: Помогите создать простой класс COM
Спасибо!
Может ли кто-нибудь помочь мне создать простой COM-класс с VC++, который я могу назвать его приложением VB6 с помощью CreateObject?VC++: Помогите создать простой класс COM
Спасибо!
Если вы используете «raw C++», вы получите невероятное количество утомительных деталей, о которых вам нужно позаботиться, даже для базового класса COM. Самым простым способом создания COM-вызываемого класса на C++ является ATL, который даже поставляется с мастером (по крайней мере, в VS 2005 и 2008) для этой цели. Мастер выплюнет совершенно полезный компонент, включая счетчик ссылок, регистрацию и один пользовательский интерфейс. Имейте в виду, что VB использует позднюю привязку, поэтому вам понадобится реализовать IDispatch
на вашем классе (вы можете использовать ATL IDispatchImpl
, чтобы упростить вашу жизнь).
BTW, ATL дает вам очень небольшую площадь (это библиотека шаблонов) - просто среда исполнения VC++, поэтому не так много зависимостей.
Чтобы пройти очень далеко, вам нужно будет определить больше того, что вы хотите. Например, вы можете создать COM-объект, используя необработанные C++, MFC или ATL, но между ними существует значительная разница. –
Может быть, с сыром C++ лучше? Я не хочу иметь много зависимостей от этой DLL, потому что все, что нужно сделать, это вернуть двойной номер, только для одного метода – John