Вниз
Скачать: 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.028 c
11-1107971012
Лёля
2005-02-09 20:43
2005.11.27
Пример для KOLWord


14-1130912254
Holy
2005-11-02 09:17
2005.11.27
Измерение расстояния между компом и свитчом/компом.


11-1112641632
Zoom Evstrahiev
2005-04-04 23:07
2005.11.27
KOLPlaylist


14-1131007741
DiamondShark
2005-11-03 11:49
2005.11.27
Есть ли утилита?


2-1131539993
darvin
2005-11-09 15:39
2005.11.27
createProcess и параметры




   Наверх