Ну молодец! Отключил форму - а кто за тебя теперь сообщения обрабатывать будет?
А ругается на OnMyTimer - потому что она у тебя не описана. То есть у тебя она описана, НО если ты пишешь процедурно - то процедура должна быть описана ДО ее первого использования.
Создать таймер просто. Но нужно еще обработчик события OnTimer его описать. То есть, то что ты делаешь в IDE тыкая мышкой, в твоем случае придется делать руками и я бы не стал так извращаться четко не понимая, что ты пишешь и как оно работает.
Если доводить до ума твой пример, то я бы сделал так:
Код | program Project1;
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls;
// создаем класс для таймера type TTimerHolder = class Timer: TTimer; // вот обработчик будующего таймера procedure OnMyTimer(Sender: TObject); constructor Create; destructor Free; end;
var Timer: TTimerHolder; Msg: TMsg;
{ TTimerHolder }
// конструктор класса таймера constructor TTimerHolder.Create; begin Timer:= TTimer.Create(nil); Timer.OnTimer := OnMyTimer; end;
// соответственно деструктор destructor TTimerHolder.Free; begin Timer.Free; end;
// вот обработчик будующего таймера procedure TTimerHolder.OnMyTimer(Sender: TObject); begin ShowMessage('Timer Event'); end;
begin // создаем наш класс с таймером Timer := TTimerHolder.Create; // ну а вот основная часть кода без него твое приложение не будет работать // очередь обработки сообщений while GetMessage(Msg, 0, 0, 0) do begin TranslateMessage(Msg); DispatchMessage(Msg); end; end.
|
но это не очень красиво, хотябы потому что останавливать твое приложение придется только через среду Delphi кнопкой "Program Reset"
Можно узнать, для чего тебе именно ракая реализация - без формы? |