Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.17;
Скачать: CL | DM;

Вниз

Подскажите!   Найти похожие ветки 

 
Le!   (2003-02-10 08:11) [0]

Недавно наткнулся на такой пример:
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
const
NamePrefix = "MyEdit";
begin
for i := 1 to 20 do begin
TEdit.Create(Self).Name := NamePrefix + IntToStr(i);
with TEdit(FindComponent(NamePrefix + IntToStr(i))) do
begin
Left := 10;
Top := i * 20;
Parent := self;
end;
end;
end;
Он порождает 20 Edit"оф. Вопрос: почему таким способом нельзя сделать несколько панелей, да и других компонентов?


 
MBo ©   (2003-02-10 08:13) [1]

1) Можно хоть панелей, хоть чего.
2) Пример плохой - нелепо FindComponent делать
3) http://delphi.vitpc.com/helloworld/runtime_comp.htm


 
anbezr   (2003-02-10 09:19) [2]

> 2) Пример плохой - нелепо FindComponent делать
а что же тогда использовать - как еще обратиться к компоненту по имени, хранящемуся в string


 
MBo ©   (2003-02-10 09:25) [3]

>anbezr
Если ты его только что создал, то известна ссылка на него, зачем же копаться во всех компонентах?


 
Anatoly Podgoretsky ©   (2003-02-10 09:31) [4]

anbezr (10.02.03 09:19)
Изучаем with или в крайнем случае создаем временную переменную.


 
anbezr   (2003-02-10 09:32) [5]

Да нет - речь идет о периодическом просмотре всех компоентов с целью выделения из них, например, TLabel и модифицирования некоторых его полей. понятно, что в данном случае необходим массив-список компонент, удовлетворяющих к-л условию. Идеальным кажется array of TComponent, но возникила и задача определния адреса объекта по имени. ничего другово, окромя FindConponent я не нашел.


 
MBo ©   (2003-02-10 09:39) [6]

FindComponent разумно использовать потом, в процессе работы, а при создании объекта - ни к чему.
З.Ы. Ссылку изучил?


 
anbezr   (2003-02-10 09:45) [7]

Ссылку изучил. надо искать именно в runtime




Страницы: 1 вся ветка

Текущий архив: 2003.02.17;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.027 c
1-53022
FTNSoft
2003-02-10 19:31
2003.02.17
ListBox and Color Text


14-53195
Соловьев
2003-01-31 11:13
2003.02.17
Почему EhLib 2.6а не ставится?


14-53280
zedov
2003-02-01 20:18
2003.02.17
как сделать dll в виде массива кодов символов?


1-52991
Vitalij
2003-02-10 14:24
2003.02.17
Создание Web-сервера


1-52860
Zergling
2003-02-06 08:51
2003.02.17
Изменение размеров объектов в Run-Time (как в IDE Delphi)