методы восстановления точки подключения - PullRequest
0 голосов
/ 30 июня 2010

Я создал интерфейс точки подключения _IPlayerEvents.

Я добавил пару методов

OnConnect()
OnDisconnect()

Я создал проект, и VS2008 сгенерировал код в классе CProxy_IPlayerEvents:

HRESULT Fire_OnConnect(){...}
HRESULT Fire_OnDisconnect() {...}

Теперь я добавил еще один метод в интерфейс _IPlayerEvents

OnMessage([out, retval]BSTR* pbstrMessage)

При сборке в класс CProxy_IPlayerEvents для функции OnMessage не добавляется код - я ожидал, что VS2008 выдаст:

HRESULT Fire_OnMessage(BSTR* pbstrMessage){...}

Я бы предпочел не обновлять CProxy_IPlayerEvents вручную, если бы мог.

Как заставить VS2008 регенерировать класс CProxy_IPlayerEvents?

1 Ответ

1 голос
/ 30 июня 2010

Я нашел ответ!

Откройте Class Class View в VS2008, щелкните правой кнопкой мыши на своем COM-объекте и в его контекстном меню выберите Add -> Add Connection Point ... Переместите исходный интерфейс из списка наслева направо, затем нажмите Готово.

Это создаст или сгенерирует прокси-класс при следующей сборке вашего проекта.

Этот шаг крайне важен - и это настоящая боль, если вы не сделали точки подключения вкакое-то время!

...