Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Создание компонентов в run time


Автор: XAKEPEHOK 18.10.2006, 20:13
Всем привет! Я тут новенький, и хотел попросить у вас помощи! У меня проблема в следующем: Вот создаю я динамически таймеры, все короче путем делается, но вот проблема: как присвоить таймеру процедуру определенную именно при создании самого таймера? Ненадо предлагать другие пути, уже все продумал, это единственный! Заранее благодарен! Спасибо

Автор: darkart 18.10.2006, 20:50
Если правильно понял, то
Код

unit main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,ExtCtrls;

type
  TfrmMain = class(TForm)
    btnCreateTimer: TButton;
    btnDestroyTimer: TButton;
    procedure btnCreateTimerClick(Sender: TObject);
    procedure btnDestroyTimerClick(Sender: TObject);
  private
    { Private declarations }
  public
    MyTimer:TTimer;//таймер
    procedure MyTimerProcedure(Sender:TObject);//процедура таймера
  end;

var
  frmMain: TfrmMain;

implementation

{$R *.dfm}
procedure TfrmMain.MyTimerProcedure(Sender:TObject);
begin
  ShowMessage('Timer Procedure');//для примера вывод сообщения
end;
procedure TfrmMain.btnCreateTimerClick(Sender: TObject);
begin
  MyTimer:=TTimer.Create(frmMain);//создаем таймер - владелец форма
  MyTimer.Interval:=3000;//задаем интервал
  MyTimer.OnTimer:=MyTimerProcedure;//задаем ф-цию для таймера
  MyTimer.Enabled:=true;//включаем таймер
  btnCreateTimer.Enabled:=false;
  btnDestroyTimer.Enabled:=true;
end;

procedure TfrmMain.btnDestroyTimerClick(Sender: TObject);
begin
  MyTimer.Free;//уничтожаем таймер
  btnCreateTimer.Enabled:=true;
  btnDestroyTimer.Enabled:=false;
end;

end.

Ну и пример, собственно

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)