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