Я пытаюсь следовать инструкциям Simple COM Tutorial , которые выглядят хорошо и логично для меня. Обычно я бы уклонялся от использования мастера, но, похоже, все согласны с тем, что это лучший способ сделать COM.
Подводя итог
- Создание проекта ATL с помощью мастера
- Используйте диалог Add Class для создания простого объекта ATL (
SimpleChatServer
в примере)
- Перейдите в ClassView, щелкните правой кнопкой мыши интерфейс для объекта, добавьте метод (
CallMe
в примере)
- В учебнике дается тело метода для использования
- Compile
Моя компиляция, однако, не удалась, потому что
error C2509: 'CallMe' : member function not declared in 'CSimpleChatServer'
Что-то пошло не так с волшебником? Я ожидал, что VS автоматически объявит метод CallMe в CSimpleChatServer и предоставит мне заглушку метода, чтобы добавить реализацию, чего не было.
(Другое отличие от учебника в том, что браузер классов не показывает класс CSimpleChatServer, который, как вы думаете, будет. Возможно, это потому, что я отключил intellisense? Надеюсь, это отдельная проблема).
Итак, что делать, где и как определить и объявить фактический метод C ++ с функциональностью?