Форум по программированию Delphi Sources

 



Вернуться   Форум по программированию Delphi Sources > Все о Delphi > Компоненты и классы
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 06.04.2006, 17:34
EA_Sports EA_Sports вне форума
Прохожий
 
Регистрация: 05.04.2006
Сообщения: 10
Репутация: 10
Вопрос Пролбема при динамическом создании компонента

Подскажите мне можно ли сделать так, чтобы при динамическом создании компонента, ему можно было как-то присвоить определённый код, который он должен выполнять?
Например, я динамически создаю таймер и мне нужно, чтобы он выполнял определённую последовательность действии, т.е. реализовывал какой-либо алгоритм.
Ответить с цитированием
  #2  
Старый 07.04.2006, 09:43
Аватар для Admin
Admin Admin вне форума
Администратор
 
Регистрация: 03.10.2005
Адрес: Россия, Москва
Сообщения: 1,438
Версия Delphi: 7
Репутация: выкл
По умолчанию

Код:
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  
Старый 07.04.2006, 14:19
EA_Sports EA_Sports вне форума
Прохожий
 
Регистрация: 05.04.2006
Сообщения: 10
Репутация: 10
Печаль

Псиба большое. ))
Тока у меня тут возникла трудность:
Таймер описываю, как написано, а он, зараза, говорит, что неизвестная переменная. Модуль ExtCtrls подключил. Создал таймер обычным способом, всё пошло, тока TimerProc не запустилась. И, я думаю, MyTimer вообще не создался(как раз по причине того, что неизвестная переменная). С созданием кнопок всё на ура, а вот таймер... ((( Может что-то ещё нужно добавить?

Последний раз редактировалось EA_Sports, 07.04.2006 в 21:31. Причина: добавление
Ответить с цитированием
  #4  
Старый 10.04.2006, 21:46
EA_Sports EA_Sports вне форума
Прохожий
 
Регистрация: 05.04.2006
Сообщения: 10
Репутация: 10
По умолчанию

Дак что, никто не поможет?
Ответить с цитированием
  #5  
Старый 11.04.2006, 05:37
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Санкт-Петербург
Сообщения: 2,894
Репутация: выкл
По умолчанию

Код предложенный Админом рабочий, ищи ошибку у себя.
2Админ:
на закрытие формы не стоит делать Free таймеру ибо она сама его прибьет при закрытии так как создано он от нее
Ответить с цитированием
  #6  
Старый 11.04.2006, 09:56
Аватар для ~TB~
~TB~ ~TB~ вне форума
Начинающий
 
Регистрация: 17.02.2006
Адрес: Казахстан
Сообщения: 172
Версия Delphi: XE
Репутация: 1500
Хорошо Спсб

Гиганское спасибо за изложеный выше код, очень помогло в моей программе!!!
Ответить с цитированием
  #7  
Старый 11.04.2006, 21:27
EA_Sports EA_Sports вне форума
Прохожий
 
Регистрация: 05.04.2006
Сообщения: 10
Репутация: 10
По умолчанию

Да я кажется понял в чём загвоздка. Модули не все подключил. )
Ответить с цитированием
Ответ



Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:35.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources", 2004-2019

ВКонтакте   Facebook   Twitter