|
|
Регистрация | << Правила форума >> | 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
|
|||
|
|||
Да я кажется понял в чём загвоздка. Модули не все подключил. )
|