Главная страница
    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.046 c
15-1177056559
infom
2007-04-20 12:09
2007.05.20
Механизм отображения "красивого" графа


2-1178180459
lobach
2007-05-03 12:20
2007.05.20
Разделители


2-1178205311
Человек
2007-05-03 19:15
2007.05.20
Поиск


15-1176885141
Карелин Артем
2007-04-18 12:32
2007.05.20
Вода из водопровода vs вода из бутыли.


3-1172661461
Литейщик
2007-02-28 14:17
2007.05.20
Получение значений по умолчанию из БД MSSQL 2000





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский