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

Вниз

Как отладить приложение с компонентом timer   Найти похожие ветки 

 
Dmitriy   (2011-10-13 03:52) [0]

Дело такое: создаётся форма и через каждые 5 сек срабатывет процедура OnTimer и так до бесконечности.
Тав вот вопрос: как пропустить эту процедуру. Помогите плиз.
PS. Я новичок и сорцы не мои.


 
MBo ©   (2011-10-13 05:34) [1]

например, в инспекторе объектов сделать таймеру Enabled = False


 
Dennis I. Komarov ©   (2011-10-13 08:20) [2]

OnTimed
begin
Disable;
try
AnyCode;
finally
Enable;
end;
end;


 
OW ©   (2011-10-13 08:54) [3]

вести переменную, какую нибудь, например IsDebug = 1 или 0
далее варианты

в создании формы
if IsDebug = 1 then
 Timer.Enabled := false;

или

OnTimer
begin
if IsDebug = 1 then
  exit;
.....
end;


 
Ega23 ©   (2011-10-13 08:58) [4]


> вести переменную, какую нибудь, например IsDebug = 1 или
> 0


Для этого человечество директивы компиляции придумало.

{$IFDEF DEBUG}
 ...
{$ENDIF}


 
OW ©   (2011-10-13 09:27) [5]


> Для этого человечество директивы компиляции придумало.
>
> {$IFDEF DEBUG}
>  ...
> {$ENDIF}
>

знаю.
а теперь, в процессе работы программы, включи отладку

а я нажму onButton -> IsDebug := 0; и таймер работает.
Надо IsDebug := 1 - и не работает, дальше отлаживаем.


 
Anatoly Podgoretsky ©   (2011-10-13 09:54) [6]

> Dmitriy  (13.10.2011 03:52:00)  [0]

if условие then Exit


 
han_malign   (2011-10-13 12:01) [7]


> как пропустить эту процедуру

- убрать breakpoint???

> а я нажму onButton -> IsDebug

- а я нажму [Ctrl+F7], и не буду вносить левую логику, которая потом наверняка всплывет у дцати клиентов...


 
OW ©   (2011-10-13 12:11) [8]


> а я нажму [Ctrl+F7]

не в том суть,
по [Ctrl+F7] ты же не сотрешь {$DEFINE DEBUG}, а так же поменяешь значение ISDеbug.
т.е. принципиально тоже самое.

Однако:
А если понадобится логгирование вести, на месте, у клиента?  
[Ctrl+F7] не поможет :)
А уж как превратить IsDebug в 1 способов много


 
Ega23 ©   (2011-10-13 13:09) [9]


> А если понадобится логгирование вести, на месте, у клиента?


Это плохая программа


 
han_malign   (2011-10-13 13:28) [10]


> А если понадобится логгирование вести, на месте, у клиента?

- логи и отладочная заглушка - это две разные разницы...

{$IF Declared(IsDebug)}
  {$IFOPT D+}
       {$IFOPT O-}
            {$MESSAGE HINT "Не забудьте прибить заглушку..."}
       {$ELSE}
            {$MESSAGE WARN "А не релиз ли это?"}
       {$ENDIF}
  {$ELSE}
       {$IFOPT O-}
            {$MESSAGE ERROR "Странный релиз."}
       {$ELSE}
            {$MESSAGE FATAL "Релиз и заглушка - они если честно...(с)"}
       {$ENDIF}
  {$ENDIF}
{$IFEND}



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

Форум: "Начинающим";
Текущий архив: 2012.01.22;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.003 c
2-1318332506
серый
2011-10-11 15:28
2012.01.22
Из DBGrid в TStringGrid


3-1269545592
ruslan_as
2010-03-25 22:33
2012.01.22
Как скопировать таблицу Oracle в другую базу Oracle


15-1317980974
Scott Storch
2011-10-07 13:49
2012.01.22
Понятия "сфера" и "область".


15-1317709605
PS
2011-10-04 10:26
2012.01.22
Как запросить пароль?


2-1318319704
санек
2011-10-11 11:55
2012.01.22
Номер строки DBGrid





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