Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос про динамически созданные компоненты [D6, WinXP]


lovres ©   (2002-08-20 16:10:00) 

Создаю:
type
TControlClass = class of TControl;
var
SpeedFill: TSpeedFill;
...
function CreateControl(ControlClass: TControlClass;
const ControlName: string; X, Y, W, H: Integer): TControl;
begin
Result := ControlClass.Create(SpeedFill);
with Result do
begin
Parent := SpeedFill;
Name := ControlName;
SetBounds(X, Y, W, H);
Visible := True;
end;
end;
...
CreateControl(TEdit, "Edit"+inttostr((i-1)*10+j),j*50, 158+i*30, 35, 20)
как видно имя тоже динамическое, так вот меня, как новичка в Delphi, интересует как потом получить доступ к свойствам и методам этого объекта, например надо вывести какой-то свой начальный текст в Edit?
У статического:Edit1.text:="ля-ля-ля";
А у динамического как?


lovres   (2002-08-20 18:36:00) [1]

Всем спасибо за советы! Помогло


Денис М Радченко   (2002-08-20 16:59:00) [2]

Можешь завести масив myEdits : array of TEdit и изменять текст
myEdits[1].Text := IntToStr(Random(100));


MBo   (2002-08-20 16:13:00) [3]

ну ведь функция возвращает ссылку на созданный контрол, ее и используй (с IS и AS)
также см. FindComponent, Components[i] и Controls[i]


lenin   (2002-08-20 16:13:00) [4]

(FindComponent(ControlName) as ControlClass).---


Наверх

Титульная страница Поиск, карта сайта Написать письмо