Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.05.20;
Скачать: 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 вся ветка

Текущий архив: 2007.05.20;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.054 c
2-1178260166
allucard
2007-05-04 10:29
2007.05.20
Как при печати разбить форму на две страницы.


15-1176839093
Kostafey
2007-04-17 23:44
2007.05.20
Раздел "Базы" что-то с обеда не работает...


15-1176812625
@!!ex
2007-04-17 16:23
2007.05.20
Помогите собрать багажник на пятерку!


15-1177325971
mrhx
2007-04-23 14:59
2007.05.20
VISG: visual and smart GUI builder.


2-1178127636
ppcumax
2007-05-02 21:40
2007.05.20
Запуск программы