|
Тема |
НАМЕРИХ го, много странно [re: 11OO1] |
|
Автор |
NikB (любопитен) |
|
Публикувано | 25.04.07 13:01 |
|
|
НАМЕРИХ го, но е много странно.
Оказа се, че някога в стария проект ми е трябвал юнит AppEvnts (може би съм ползвал компонент ApplicationEvents).
В Initialization на юнита AppEvnts се създава TMultiCaster, който регистрира DoException за обработчик на Application.OnException.
procedure TMultiCaster.DoException(Sender: TObject; E: Exception);
var
I: Integer;
begin
FDispatching := True;
try
for I := Count - 1 downto 0 do
begin
AppEvents.DoException(Sender, E);
if not FDispatching then Break;
end;
finally
FDispatching := False;
end;
end;
И тъй като нищо друго не се обработва - изглежда всички изключения на приложението се маскират.
Много зле.
Те хората са си писали:
- приличало му на бъг.
По същество: Ще развия предложението на nettle - още повече, че в самата иницализация на сокетите се вика WSAAsyncGetHostByName, но грешката й предизвиква ексцепшън (смятам да прехвана ексцепшъна в моето обръщане към WSAAsyncGetHostByName).
|
| |
|
|
|