Форум: "Начинающим";
Текущий архив: 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