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

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

Создание массива компонетов [D1, D2, D3, D4, D5, D6, D7, Win95/98, WinME, NT4, Win2k, WinXP]


SilverDragon ©   (2005-01-29 20:21:00) 

Необходимо создать массив компонентов, разных классов. К примеру что бы в одном массиве хранились ссылки на компоненты классов TEdit, TCombobox, TCalendar.
Это необходимо для динамического создания элементов и их последовательного опроса


SilverDragon   (2005-01-30 13:27:00) [1]

ВСЕМ большое спасибо, уже разобрался со всем
большая блогодарность P.N.P


Anatoly Podgoretsky   (2005-01-30 13:07:00) [2]

Не поможет, слишком у тебя широкий спектр. Пиши свою реализацию TObjectList, более того пиши TComponentList


SilverDragon   (2005-01-30 13:04:00) [3]

[4]P.N.P
я конечно извеняюсь но Delphi сообщает о неизвестности TObjectList
может какую библиотеку надо подрубить ???


P.N.P.   (2005-01-30 12:08:00) [4]

Все-таки ObjectList лучше будет, он специально предназначен
для таких вот ситуаций.

Var
 Obj:TObjectList;
 x:integer;

begin
 Obj:=TObjectList.Create;
 x:=Obj.Add(TEdit.Create(Form1));
 TEdit(Obj[x]).Parent:=Form1;
 TEdit(Obj[x]).Name:='Dynamic_Edit'+IntToStr(x);
end;


P.N.P.   (2005-01-30 12:01:00) [5]

TEdit(Ar[1]).Parent:=Form1


SilverDragon   (2005-01-30 11:52:00) [6]

[4] olookin

мысль конечно хорошая, но такой функции (Ar[1].Parent:=Form1) нет у этого элемента


olookin   (2005-01-30 00:30:00) [7]

[4] SilverDragon ©   (30.01.05 00:13)
GuAV а можно поподробнее
я пытаюсь делать так

Var
Ar: array[1..100] of TComponent;

Begin
Ar[1]:=Tedit.create(Form1);
Ar[1].Parent:=Form1;
Ar[1].Name:='Edits1';
End;


SilverDragon   (2005-01-30 00:13:00) [8]

GuAV а можно поподробнее
я пытаюсь делать так

Var
 Ar: array[1..100] of TComponent;

Begin
Ar[1]:=Tedit.create(Form1);
Ar[1].Name:='Edits1';
End;

Программа выполняеться но элемент создаеться только в память но не на форме


GuAV   (2005-01-29 21:52:00) [9]

TList или TObjectList

или если у всех owner тот же компонент (напр форма), то у него св-во componenmts


Vaitek   (2005-01-29 21:44:00) [10]

Array of TComoponent ?


Knight   (2005-01-29 20:25:00) [11]

Напрашивается TList... и храни чё хошь...


Наверх

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