Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2012.01.22;
Скачать: CL | DM;

Вниз

Как отладить приложение с компонентом 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.011 c
2-1318398757
TeteriN
2011-10-12 09:52
2012.01.22
Косвенное обращение к объектам


6-1250005013
NeonSimfi
2009-08-11 19:36
2012.01.22
Получить найстройки прокси изпользуя WinHttpGetProxyForUrl


15-1317846605
Юрий
2011-10-06 00:30
2012.01.22
С днем рождения ! 6 октября 2011 четверг


2-1318463535
Dmitriy
2011-10-13 03:52
2012.01.22
Как отладить приложение с компонентом timer


15-1317627402
OW
2011-10-03 11:36
2012.01.22
Задумка. Игра Пираты. Интересно ли будет?