Добавить ошибку точки подключения? - PullRequest
2 голосов
/ 24 июля 2010

Сегодня мне пришлось пройти курс ATL Tutorial от MSDN, но я столкнулся с проблемой.К сожалению, я не настоящий разработчик C ++ и не могу сделать это сам.

В Шаг 5 , когда я добавляю точку подключения, мастер создает _IPolyCtrlEvents_CP.H, но не реализуетметоды Fire_ClickIn и Fire_ClickOut.Как я могу их реализовать?

Я использую VS2010.

Спасибо за ваши советы:)

Ответы [ 4 ]

2 голосов
/ 29 января 2013

Обходной путь vs2012: в рамках «Реализации точки подключения» http://msdn.microsoft.com/en-us/library/s7zd1wd1.aspx

До шага 3:

3.pre (НЕ ВЫБИРАЙТЕ «Встроенный IDL» в «Доступных библиотеках типов», выберите вместо этого typelib проекта)

Если мы выберем typelib, будут сгенерированы методы Fire_ *.

2 голосов
/ 09 апреля 2012

Я также изучаю программирование на ATL и тоже сталкиваюсь с этой проблемой.
Это не ошибка точки подключения.
В мастере точек подключения следует выбрать «доступные библиотеки типов», чтобы они были «PolygonLib <1.0>». По умолчанию это «вставленный IDL».

1 голос
/ 02 октября 2012

У меня была похожая проблема.Убедитесь, что вы добавили методы точки подключения, щелкнув правой кнопкой мыши на _IxxxEvents под классом xxxLib в представлении классов.Вы увидите метод, добавленный в dispinterface _IxxxEvents ... методов: раздел.Если заглушка кода метода была фактически создана в другом месте кода, метод события был добавлен неправильно, и метод Fire_ не будет создан.

0 голосов
/ 16 января 2013

Но я столкнулся с другой ситуацией. Я добавил новые методы в XXXLib / IXXXEvent, и они автоматически добавились в XXX.idl с тегом "dispinterface IPolyCtlEvents". Но после добавления методов, как говорится в руководстве MSDN, метод Fire не добавляется в _xxxEvent_CP.H. Поэтому я добавляю новые методы в IXXXEvent вместо XXXLib / IXXXEvent, и проблема решена.

...