| 
| 
 | Вопрос # 3 085/ вопрос открыт / | 
 |  Здравствуйте!У меня возникла проблема с работой Ttimer.Есть такой код :
 
 procedure TForm1.Button1Click(Sender: TObject);
 begin
 Timer1.Enabled  := False;
 Timer1.Interval := 120000;
 end;
 
 procedure TForm1.Timer1Timer(Sender: TObject);
 begin
 showmessage('ok');
 sleep(12000);
 end;
 Дак собсно проблема в том что время таймера проходит и вызиваеться сшовмессадж который постоянно вылетает, а мне нужно что бы он выполнялся через интервал времени который установлен в таймере, помогите с этим плс)
 
|  |   Вопрос задал: megolamer (статус: Посетитель)Вопрос отправлен: 13 августа 2009, 14:27
 Состояние вопроса: открыт, ответов: 0.
 |  
 Мини-форум вопросаВсего сообщений: 3; последнее сообщение — 13 августа 2009, 19:42; участников в обсуждении: 3. 
|   | Вадим К (статус: Академик), 13 августа 2009, 14:34 [#1]:а зачем в коде sleep(12000); ? Оно там точно не нужно. код
 Timer1.Enabled := False;
 Timer1.Interval := 120000;
 наверно лучше написать как
 Timer1.Interval := 120000;
 Timer1.Enabled := true;
 и в инспекторе объектов выставить
 Timer1.Enabled := False;
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | min@y™ (статус: Доктор наук), 13 августа 2009, 17:46 [#2]:Мне очень сильно интересно, для чего в обрабочике Sleep()? Может его на всякий случай убрать, а? Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | Мережников Андрей (статус: Абитуриент), 13 августа 2009, 19:42 [#3]:showmessage и будет постоянно выскакивать.Время показа учитываете? А оно входит в те 12 секунд, через которые происходит срабатывание таймера. Если хотите, чтобы между показами showmessage проходило 12 секунд, то в обработчике Timer1Timer надо перед showmessage вставить timer1.enabled:=false; а после timer1.enabled:=true; |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |