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

Сколько можно наступать на грабли?   Найти похожие ветки 

← →
Германн ©   (2007-04-20 16:31) [0]

Четвертый раз за месяц пишу обработчики OnDataAvailable для TWSocket(это из библиотеки ICS) и каждый раз забываю в них поставить try except. Три раза грабли! И сообщений об ошибках нет и ничего не работает!
:((((((


← →
Ega23 ©   (2007-04-20 16:35) [1]

with DataSet do
begin
 First;
 While not Eof do
   begin
     ............
    // Регулярно забываю Next ставить...  :)
   end;
end;


← →
Германн ©   (2007-04-20 16:46) [2]


> // Регулярно забываю Next ставить...  :)

Так тут хоть виснешь и сразу вспоминаешь про Next. А там блин этот обработчик вызывается из процедуры с дурным кодом:
procedure TCustomWSocket.ASyncReceive(
   Error           : Word;
   MySocketOptions : TWSocketOptions);
var
   bMore    : Boolean;
   ...
begin
   bMore := TRUE;
   while bMore do begin
       FLastError := 0;

       try
           if not TriggerDataAvailable(Error) then begin -> тут вызов
           .....
       except
           bMore := FALSE;
       end;
   end;
end;


← →
Ega23 ©   (2007-04-20 16:49) [3]

try
          if not TriggerDataAvailable(Error) then begin -> тут вызов
          .....
      except
          bMore := FALSE;
      end;


А где отпись на except в лог???
Ясен пень, ты никогда этой ошибки не увидишь...


← →
Германн ©   (2007-04-20 16:56) [4]


> Ясен пень, ты никогда этой ошибки не увидишь...
>

А какое блин удовольствие получаешь при этом, когда пытаешься трассировать под отладчиком! :-(


← →
Ega23 ©   (2007-04-20 17:07) [5]


> А какое блин удовольствие получаешь при этом, когда пытаешься
> трассировать под отладчиком! :-(


Если Stop On Delphi Exceptions отключено, то монописуально.


← →
Германн ©   (2007-04-20 17:22) [6]


> Если Stop On Delphi Exceptions отключено

Как раз включено. Но исходники ICS вынесены из Library Path, чтобы не перекомпиллировать их всякий раз, когда нужно перебилдить программу. А перебилдивать приходится часто из-за многочисленных {$IFDEF}


← →
Германн ©   (2007-04-21 01:09) [7]

Блин. "Ученье - свет, а неучёных тьма"!
Если б я раньше заглянул на Tools -> Debugger Options -> OS Exceptions, подумал бы что на ней установлено и что эти установки значат, я бы ещё месяц назад смог бы беспрепятственно ловить в отладчике AV в сабже и не мучаться. :-(
Век живи, век учись!



Страницы: 1 вся ветка

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



Память: 0.46 MB
Время: 0.038 c
15-1177066657
ArtemESC
2007-04-20 14:57
2007.05.20
Перенаправление почты с mail.ru


2-1176782161
vegarulez
2007-04-17 07:56
2007.05.20
Подскажите про использование CreateProcess...


2-1178034619
aht
2007-05-01 19:50
2007.05.20
DB Chart


15-1176986639
Kerk
2007-04-19 16:43
2007.05.20
Четверговая задачка


2-1176404888
ancot
2007-04-12 23:08
2007.05.20
запуск bat файла




   Наверх