![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Подскажите мне можно ли сделать так, чтобы при динамическом создании компонента, ему можно было как-то присвоить определённый код, который он должен выполнять?
Например, я динамически создаю таймер и мне нужно, чтобы он выполнял определённую последовательность действии, т.е. реализовывал какой-либо алгоритм. |
|
#2
|
||||
|
||||
|
Код:
type
TForm9 = class(TForm)
...
procedure TimerProc(Sender: TObject);
private
var
Form9: TForm9;
MyTimer: TTimer;
procedure TForm9.FormCreate(Sender: TObject);
begin
// создаем свой таймер
MyTimer:=TTimer.Create(Self);
MyTimer.Interval:=2000;
MyTimer.OnTimer:=TimerProc;
MyTimer.Enabled:=false;
end;
procedure TForm9.Button2Click(Sender: TObject);
begin
MyTimer.Enabled:=true;
end;
procedure TForm9.TimerProc(Sender: TObject);
begin
// выполняем какие-то действия
// ...
end;
procedure TForm9.FormClose(Sender: TObject; var Action: TCloseAction);
begin
MyTimer.Free;
end;
|
|
#3
|
|||
|
|||
|
Псиба большое. ))
Тока у меня тут возникла трудность: Таймер описываю, как написано, а он, зараза, говорит, что неизвестная переменная. Модуль ExtCtrls подключил. Создал таймер обычным способом, всё пошло, тока TimerProc не запустилась. И, я думаю, MyTimer вообще не создался(как раз по причине того, что неизвестная переменная). С созданием кнопок всё на ура, а вот таймер... ((( Может что-то ещё нужно добавить? Последний раз редактировалось EA_Sports, 07.04.2006 в 21:31. Причина: добавление |
|
#4
|
|||
|
|||
|
Дак что, никто не поможет?
![]() |
|
#5
|
||||
|
||||
|
Код предложенный Админом рабочий, ищи ошибку у себя.
2Админ: на закрытие формы не стоит делать Free таймеру ибо она сама его прибьет при закрытии так как создано он от нее ![]() |
|
#6
|
||||
|
||||
|
Гиганское спасибо за изложеный выше код, очень помогло в моей программе!!!
|
|
#7
|
|||
|
|||
|
Да я кажется понял в чём загвоздка. Модули не все подключил. )
|