Форум: "Основная";
Текущий архив: 2005.11.27;
Скачать: [xml.tar.bz2];
ВнизПочему не срабатывает try...except? Найти похожие ветки
← →
_Vox_ (2005-11-01 16:11) [0]Конструкция вида
try
LoadLibrary(Lib);
except
...
end;
когда библиотека испорчена вылезает системное сообщение о неправильном образе DLL и в отбработчик except просто не попадает. В чем проблема???
← →
Sergey_Masloff (2005-11-01 16:15) [1]Из под среды небось запускаешь?
← →
Digitman © (2005-11-01 16:20) [2]
> В чем проблема
в том что WinAPI-ции НЕ возбуждают никакие Делфи-исключения, ибо ничего не знают о них и знать НЕ обязаны.
← →
_Vox_ (2005-11-01 16:24) [3]>>Sergey_Masloff Первое что попробовал, запустить не из среды, не помогло.
>>Digitman © Проблема в том, чтобы отработать эту ошибку самому.
Подскажите пожалуйста...
← →
Leonid Troyanovsky © (2005-11-01 16:30) [4]
> _Vox_ (01.11.05 16:11)
> когда библиотека испорчена вылезает системное сообщение
> о неправильном образе DLL и в отбработчик except просто
> не попадает. В чем проблема???
Это сообщение загрузчика.
Если хочешь, чтобы ситуацию обрабатывал твой процесс -
пользуй SetErrorMode, RTFM.
--
Regards, LVT.
← →
Digitman © (2005-11-01 16:32) [5]try
WinCheck(LoadLibrary(...));
except
on E:EOSError do
case ErrorCode of
такой_то_код_отказа: такие_товои_действия:
...
end;
end;
← →
Leonid Troyanovsky © (2005-11-01 16:35) [6]
> Digitman © (01.11.05 16:32) [5]
> WinCheck(LoadLibrary(...));
WinCheck(LoadLibrary() <> 0);
& [4] ;)
--
Regards, LVT.
← →
_Vox_ (2005-11-01 16:36) [7]О, все ок, БОЛЬШОЕ СПАСИБО!
← →
_Vox_ (2005-11-01 16:54) [8]Хм, это опять я. С SetErrorMode все работает. Он вариант с WinCheck кажется по-приятней. Но объясните мне, дураку, тогда, где этот WinCheck находится - ни компилятор ни справка по Windows SDK вообще ничего о нем не знают???
← →
begin...end © (2005-11-01 16:56) [9]> _Vox_ (01.11.05 16:54) [8]
Win32Check
← →
_Vox_ (2005-11-01 16:57) [10]Мля, точно дурак. Сорри...
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.11.27;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.012 c