Всем доброго! Давно меня здесь не было и не было моих идиотских вопросов . Ситуевина слеудющая, пишу длл-ку для MSSQL, так назваемые Extended Stored Procedure, так вот в ней я вызываю другую длл-ку от стороннего разработчика, цель ее соединение с удаленным сервером, обмен информацией и т.д, все бы ничего, да есть изьян, соединение проходить достаточно долго, в связи с чем я не сразу закрываю его, а ожидаю следующего набора данных для передачи, так вот иногда это ожидание превышает время которое установлено на удаленном сервере, соотвественно сервер принудительно его закрывает( так же может быть ситуация, физичского разрва соединения(падение канала связи и т.д.)), но ... Есть но, признаюсь пишу я все это хозяйсвто на Дельфи, и если я запускаю проект из под IDE, то на мое счастье я получаю это самое исключение с сообщением о том, что удаленный сервер разорвал соединение, а вот если я запускаю программу самостоятельно, то все глухо как в танке, и конечно же попытка получит или отправить новую порцию данных, приводит к полному зависанию программы. Как быть, можно ли создать глобальный перехват исключений на подобе облочки IDE Дельфи? Заранее все спасибо!
try/except в твоем коде получает исключение? (хотя что-то я сомневаюсь что из другой dll можно получить исключение) В обычных приложениях работало: Application.OnException := <handler>; (вызывалось для не обработанных). Может быть покопать в эту сторону... да и сама постановка задачи какая-то "мощная". подобные ситуации достаточно нормальные и решаться они по идее должны "нормальными" средствами. Никогда не занимался программированием ext SP. На вскидку посмотрел BOL - может стоит присмотреться к функциям srv_message_handler, srv_pfield (SRV_STATUS); либо через интерфейс ODBC это как-то отслеживать (там пример "xp_odbc" есть)?