![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Имя создаваемого компанента. [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.