Главная страница
    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
3-1270028409
ocean
2010-03-31 13:40
2012.01.22
Как затащить tab-delimited текстовый файл в БД?


15-1317713946
OW
2011-10-04 11:39
2012.01.22
как проще всего из программы выдрать ф-цию прятать TaskBar?


2-1318237920
NBAH1990
2011-10-10 13:12
2012.01.22
Программная настройка подключения по локальной сети


2-1317987675
igorium
2011-10-07 15:41
2012.01.22
Вопрос про Canvas.CopyRect и фактическую ширину формы.


3-1270104268
Lyudik
2010-04-01 10:44
2012.01.22
Передача данных из Oracle в Delphi





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