Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.05.20;
Скачать: [xml.tar.bz2];

Вниз

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

 
Германн ©   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.042 c
2-1178097367
Washington
2007-05-02 13:16
2007.05.20
Базы данных Access - удаление записей


15-1176934894
vasIZmax
2007-04-19 02:21
2007.05.20
Re: Опрос


6-1163591918
ГореПрограммер
2006-11-15 14:58
2007.05.20
Получение картинки GET


2-1178196382
pavel_guzhanov
2007-05-03 16:46
2007.05.20
зависание при вставке записи в базу


2-1178187372
ganda
2007-05-03 14:16
2007.05.20
Неотлавливает горячую клавишу компонет ApplicationEvents





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский