Вниз
Скачать: CL | DM;

Почему не срабатывает 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.029 c
2-1131441509
Ольга
2005-11-08 12:18
2005.11.27
Как первую запись в DBGrid сделать выбранной


4-1127473166
Still Swamp
2005-09-23 14:59
2005.11.27
keybd_event и GetKeyStatus отказываются работать в терминальном


1-1130935984
BobbyDigital
2005-11-02 15:53
2005.11.27
Полосы прокрутки в Combobox


14-1130933341
konda
2005-11-02 15:09
2005.11.27
IP телефония


9-1121156030
n0p
2005-07-12 12:13
2005.11.27
ArcTan




   Наверх