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

Вниз

Как правильно работать с Timer?   Найти похожие ветки 

 
Volterman   (2007-07-18 10:59) [0]

Хотелось бы увидеть полный пример работы с таймером. В качестве примера приведу свою ситуацию.
Есть главное окно и цикл обработки сообщений.

while (msg.message <> WM_QUIT) do
  begin
     if PeekMessage(msg, 0, 0, 0, PM_REMOVE) then
     begin
       TranslateMessage(msg);
       DispatchMessage(msg);
     end;
     <Команды выполняющиеся постоянно>
  end;

Надо с помощью таймера иммитировать многозадачность приложения (например что-то должно выполнятся каждую 1 сек, а что-то каждые 10 сек).
Чесно говоря я что-то не до конца понимаю как в KOL работать с таймером, обработку события OnTimer.
Инициализирую таймеры таким способом:

Timer1:=NewTimer(1000);
Timer1.Enabled:=True;
Timer2:=NewTimer(10000);
Timer2.Enabled:=True;


 
Дмитрий К ©   (2007-07-18 11:40) [1]

Не знаю как в вашем случае, а у меня работает:

program tstTimer;

uses
 KOL;

type
 PForm1 = ^TForm1;
 TForm1 = object(TObj)
   form, lb: PControl;
   Timer1, Timer2 : PTimer;
   procedure DoTimer(Sender: PObj);
 end;

var Form1: PForm1;
procedure NewForm1(var Result: PForm1; AParent: PControl);
begin
 New(Result, Create);
 with Result^ do
 begin
   form := NewForm(AParent, "Test Timer");
   Applet := form;
   lb :=NewListBox(form, []).SetAlign(caClient);
   Timer1 := NewTimer(1000);
   Timer1.OnTimer := DoTimer;
   Timer2 := NewTimer(10000);
   Timer2.OnTimer := DoTimer;
   form.Add2AutoFree(Timer1);
   form.Add2AutoFree(Timer2);
 end;
end;

{ TForm1 }

procedure TForm1.DoTimer(Sender: PObj);
begin
 lb.Add(int2str(Integer(Sender)));
end;

begin
 NewForm1(Form1, nil);
 Form1.Timer1.Enabled := True;
 Form1.Timer2.Enabled := True;

 Run(Applet);

end.



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

Текущий архив: 2008.03.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
2-1202227203
NiGGa
2008-02-05 19:00
2008.03.02
Ошибка Delphi при запуске своего приложения


2-1202464753
Artem
2008-02-08 12:59
2008.03.02
Abstract Error в ListBox


15-1201312944
art911
2008-01-26 05:02
2008.03.02
Помогите перепрошить контроллер!


2-1202078395
Artem
2008-02-04 01:39
2008.03.02
Получить HANDLE незапущенного приложения


6-1181650538
dzr_gregory
2007-06-12 16:15
2008.03.02
Проблема с IdMappedPortTCP