Вниз
Скачать: CL | DM;

Обратиться к объекту по имени хранящемся в строке   Найти похожие ветки 

← →
Viod ©   (2008-08-06 08:38) [0]

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


← →
Сергей М. ©   (2008-08-06 08:42) [1]

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


← →
Viod ©   (2008-08-06 08:52) [2]


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:57) [3]

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

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


← →
Viod ©   (2008-08-06 09:02) [4]

Спасибо.


← →
Anatoly Podgoretsky ©   (2008-08-06 09:23) [5]

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


← →
Сергей М. ©   (2008-08-06 09:35) [6]


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


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


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

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


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


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


← →
Vlad Oshin ©   (2008-08-06 10:01) [7]

function FindGlobalComponent(const Name: string): TComponent;


← →
Anatoly Podgoretsky ©   (2008-08-06 10:24) [8]


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

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


← →
Anatoly Podgoretsky ©   (2008-08-06 10:25) [9]


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

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


← →
Сергей М. ©   (2008-08-06 10:37) [10]


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


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

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



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.014 c
4-1196619757
Belorus
2007-12-02 21:22
2008.09.14
CreateFiber


4-1196680450
clickmaker
2007-12-03 14:14
2008.09.14
BackupWrite меняет размер файла?


2-1217936762
abhtr
2008-08-05 15:46
2008.09.14
Проблемы с открытием таблицы Paradox


15-1216883567
ееееееекенитен
2008-07-24 11:12
2008.09.14
можно ли подключить к ноуту 2 одновоременно работающих WiFi-устр?


2-1217895646
Abcdef123
2008-08-05 04:20
2008.09.14
Как проверить в программе существование поля по названию?




   Наверх