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

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

Обратиться к объекту по имени хранящемся в строке [D7, XP]


Viod ©   (2008-08-06 08:38:00) 

Здравствуйте.
Такой вопросик: есть ли в Делфи конструкция позволяющая обратиться к объекту с помощью его имени хранящегося в строковой переменной?
Что-то вроде ObjectById(ObjectId:string):TObject


Сергей М.   (2008-08-06 10:37:00) [1]


> у динамических массивов появились вдруг владельцы?
>


А, ты вон о чем ..

Я и не посмотрел на объявление этого идентификатора)


Anatoly Podgoretsky   (2008-08-06 10:25:00) [2]


> Я их не делаю, и так жарко на дворе, это автора приспичило)

Это он зря, не понимает, что творит.


Anatoly Podgoretsky   (2008-08-06 10:24:00) [3]


> С какого вдруг перепугу ?)

А с каких пор у динамических массивов появились вдруг владельцы?


Vlad Oshin   (2008-08-06 10:01:00) [4]

function FindGlobalComponent(const Name: string): TComponent;


Сергей М.   (2008-08-06 09:35:00) [5]


> Anatoly Podgoretsky ©   (06.08.08 09:23) [5]


> У panel нет владельца


С какого вдруг перепугу ?)

Компонент он и в Африке компонент и Owner'а у него пока еще никто не отменял.


> Только лишнии телодвижения


Я их не делаю, и так жарко на дворе, это автора приспичило)


Anatoly Podgoretsky   (2008-08-06 09:23:00) [6]

Сергей М. ©   (06.08.08 08:57) [3]
У panel нет владельца, а найти владельца в массиве требуется его сканирование, правда и смысл в этом случае исчезает, какая разница что искать, имя или это имя через свойство Panel[i].Owner -> FindComponent. Только лишнии телодвижения.


Viod   (2008-08-06 09:02:00) [7]

Спасибо.


Сергей М.   (2008-08-06 08:57:00) [8]

Name - это не имя объекта, а опубликованное свойство компонента.

см. Компонент-владелец.FindComponent('Имя искомого компонента, которым владеет компонент-владелец')


Viod   (2008-08-06 08:52:00) [9]


var panel:array of TPanel;
    p_name:string;
begin
SetLength(panel,length(panel)+1);
panel[0]:=TPanel.Create(form1);
panel[0].Name:='mypanel';
panel[0].Parent:=Form1;
p_name:=panel[0].name;

Допустим мне нужно изменить цвет панели:
panel[0].color:=clWhite;
А как мне это сделать используя p_name:string, а не panel[0]


Сергей М.   (2008-08-06 08:42:00) [10]

Объект не имеет имени.


Наверх

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