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

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

Имя создаваемого компанента. [D6, Win2k]


jen_bond ©   (2003-01-02 10:44:00) 

Подскажите как можно узнать Имя созданного в run-time режиме компанента?
вот метод создания компанента.
procedure TMesExpForm.SpeedButton1Click(Sender: TObject);
var x:TLabel;
IniFile: TiniFile;
begin
x:=TLabel.create(self);
x.parent:=MonitorForm.GroupBox1;
end;


Перепробывал методы но они ничего не возвращают:
x.Name;
TComponent(x).Name;

Может быть я что-то не так делаю?


jen_bond   (2003-01-03 10:06:00) [1]

Спасибо за совет!


Юрий Зотов   (2003-01-02 12:27:00) [2]

> Но ведь при создании компанента ему должен быть присвоено имя...

Не обязательно. Созданный в run-time компонент МОЖЕТ иметь имя, но не обязан его иметь.


> самой программой

Созданному в run-time компоненту программа сама по себе никакого имени не назначает. Компонент получает имя автоматически только если он положен на форму в design-time, а в run-time это надо делать ручками: X.Name := "MyLabel1". Если же Вы никакого имени не назначили, то его и нет - поэтому X.Name дает пустую строку.

Повторюсь - назначать имя не обязательно. Вообще, очень советую почитать вот что (навсегда снимет все вопросы на эту тему):
http://www.delphikingdom.com/helloworld/runtime_comp.htm


jen_bond   (2003-01-02 12:14:00) [3]

Но ведь при создании компанента ему должен быть присвоено имя самой программой x:=TLabel.create(self);

>>А узнать его можно так x.Name.
А так ничего не возвращается.


TTCustomDelphiMaster   (2003-01-02 11:10:00) [4]

Если вы не задали имя, то что вы хотите там увидеть. А узнать его можно так x.Name.


Наверх

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