Здравствуйте, Vi2, Вы писали:
Vi2>Здравствуйте, LionHeart, Вы писали:
Vi2>LH>>Как правильно выбросить исключение в методе обычного COM-объекте?
Vi2>Никак. Правильно — не выбрасывать исключение, а возвращать код ошибки HRESULT. Это единственный валидный путь для сервера.
Vi2>Клиент может сделать обработку кодов ошибок через исключения — это его право. Пример, врапперы интерфейсов в #import-е.
Попробую подробнее:
Есть автомэйшн-объект (сервер), вызываю его через вариант, лежит он в exe-шнике. В его Initialize проверяется, не запущена ли его же копия в другой пользовательской сессии. Если уже запущена, его создание должно завершиться исключением, которое появляется на клиенте. Нормальная его работа когда к нему ОДНОМУ подключены несколько клиентов.
Вот про исключение в Initialize я и спрашиваю.