Нестандартные конструкторы для COM-объектов - PullRequest
0 голосов
/ 15 декабря 2011

Как определить конструктор не по умолчанию для COM-объекта в Visual C ++?

Такое вообще возможно?

Или вам нужно создать объект по умолчанию и использовать метод init(params) для его настройки?

1 Ответ

3 голосов
/ 15 декабря 2011

COM-классы, реализованные в C ++, не могут иметь конструктор, который принимает аргумент.Функция CoCreateObject (), основной способ создания экземпляра кокласса, не может передавать аргументы.То же самое с IClassFactory :: CreateInstance (), базовым методом.

Так что да, это невозможно, вам понадобится метод Initialize ().И код для проверки того, что он был вызван, E_UNEXPECTED с достойным сообщением IErrorInfo, является шаблонным.

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