OberonCore
https://forum.oberoncore.ru/

Перехват ошибок при работе с OLE
https://forum.oberoncore.ru/viewtopic.php?f=1&t=1827
Страница 1 из 1

Автор:  Geniepro [ Четверг, 10 Сентябрь, 2009 21:21 ]
Заголовок сообщения:  Перехват ошибок при работе с OLE

Интересно стало, как в Блэкбоксе борятся с ошибками при работе с OLE?
Ну вот типичная задача: пытаемся через OLE Automation запустить, скажем, 1С версии 8.1, например. Если почему-то указаны неправильные параметры инициализации (адрес сервера, имя базы данных) выскакивает окно самой 1С с сообщением об ошибке, предложением создать новую базу данных или просто запустить конфигуратор 1С, после его закрытия выскакивает окно с ошибкой уже самой нашей программы -- исключение EOleSysError.
В C++ Builder 6 у меня никак не получается перехватить эту ошибку, попробую ещё в дельфях и Visual C++, но что-то сомнения есть...

А в Блэкбоксе возможно как-то перехватить такие ошибки, если там даже нет механизма обработки исключений?

Проблема заключается в том, что программа должна работать постоянно на сервере, где никого нет и перезапустить её, если что, некому...

Автор:  Евгений Темиргалеев [ Четверг, 10 Сентябрь, 2009 22:04 ]
Заголовок сообщения:  Re: Перехват ошибок при работе с OLE

Сорри, что по задаче ничего. Маленькое замечание в постановке задачи:
Geniepro писал(а):
А в Блэкбоксе..., если там даже нет механизма обработки исключений?
"Клевета" :)

Единственное, что могу добавить, по использованию ББ: могут быть проблемы с генерацией интерфейсов. Для сегодняшних реалий (нововведений, которые, скорее всего есть) DevComInterfaceGen мог устареть. Тогда придётся интерфейсы руками подправлять...

Автор:  Vlad [ Четверг, 10 Сентябрь, 2009 22:57 ]
Заголовок сообщения:  Re: Перехват ошибок при работе с OLE

Geniepro писал(а):
А в Блэкбоксе возможно как-то перехватить такие ошибки, если там даже нет механизма обработки исключений?


В COM нет исключений. Исключения, которые вы видите в дельфях/билдере/VC - кидаются генерированными обертками. Все комовские методы возвращают только HRESULT. Я в свое время пришел к тому, что отказался от этих оберток совсем - без них проще и понятнее.

P.S. В билдере эти генерированные обертки особенно кривые.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/