2010-05-06 2 views
2

Может ли кто-нибудь помочь мне создать простой COM-класс с VC++, который я могу назвать его приложением VB6 с помощью CreateObject?VC++: Помогите создать простой класс COM

Спасибо!

+1

Чтобы пройти очень далеко, вам нужно будет определить больше того, что вы хотите. Например, вы можете создать COM-объект, используя необработанные C++, MFC или ATL, но между ними существует значительная разница. –

+0

Может быть, с сыром C++ лучше? Я не хочу иметь много зависимостей от этой DLL, потому что все, что нужно сделать, это вернуть двойной номер, только для одного метода – John

ответ

2

Если вы используете «raw C++», вы получите невероятное количество утомительных деталей, о которых вам нужно позаботиться, даже для базового класса COM. Самым простым способом создания COM-вызываемого класса на C++ является ATL, который даже поставляется с мастером (по крайней мере, в VS 2005 и 2008) для этой цели. Мастер выплюнет совершенно полезный компонент, включая счетчик ссылок, регистрацию и один пользовательский интерфейс. Имейте в виду, что VB использует позднюю привязку, поэтому вам понадобится реализовать IDispatch на вашем классе (вы можете использовать ATL IDispatchImpl, чтобы упростить вашу жизнь).

BTW, ATL дает вам очень небольшую площадь (это библиотека шаблонов) - просто среда исполнения VC++, поэтому не так много зависимостей.

Смежные вопросы