OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Пятница, 26 Апрель, 2024 16:24

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Перехват ошибок при работе с OLE
СообщениеДобавлено: Четверг, 10 Сентябрь, 2009 21:21 

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

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перехват ошибок при работе с OLE
СообщениеДобавлено: Четверг, 10 Сентябрь, 2009 22:04 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Сорри, что по задаче ничего. Маленькое замечание в постановке задачи:
Geniepro писал(а):
А в Блэкбоксе..., если там даже нет механизма обработки исключений?
"Клевета" :)

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перехват ошибок при работе с OLE
СообщениеДобавлено: Четверг, 10 Сентябрь, 2009 22:57 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
Geniepro писал(а):
А в Блэкбоксе возможно как-то перехватить такие ошибки, если там даже нет механизма обработки исключений?


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

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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB