VC ++: помогите создать простой класс COM - PullRequest
2 голосов
/ 06 мая 2010

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

Спасибо!

1 Ответ

2 голосов
/ 07 мая 2010

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...