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

Как узнать имя экземпляра класса?   Найти похожие ветки 

← →
lovres ©   (2002-12-05 16:04) [0]

Конкретнее:
Динамически создаются объекты типа TShape и, в зависимости от имени надо выполнять разные действия. Например, у объекта с именем Shape1 поменять цвет, а для Shape2 - размер. Как по Source можно узнать имя именно объекта, а не самого класса или как по-другому?


← →
LongIsland ©   (2002-12-05 16:09) [1]

Или как по-другому:-)
Когда создаешь объекты - присваивай им имена и все, например

for i:=0 to 10 do
begin
Shape:=TShape.Create(Form);
Shape.Parent:=Form;
Shape.Name:="Shape"+IntToStr(i);
...
end;


← →
Skier ©   (2002-12-05 16:10) [2]

>lovres

if CompareText(TComponent(Source).Name, "Shape1") = 0 then begin
end; //if

Но...есть ещё хороший метод - FindComponent(...)


← →
Smashich ©   (2002-12-05 16:13) [3]

чем не нравится (Sender as TComponent).Name?


← →
Smashich ©   (2002-12-05 16:14) [4]

я так понимаю проблема в том человек не знает про приведение типов?


← →
Zemal ©   (2002-12-05 16:29) [5]

А как ты даёшь имена экземплярам класса? Вот и оперируй с Sender-ом как пожелаешь :), у него будет поле Name в котором и будет содержаться имя как String.


← →
lovres ©   (2002-12-05 16:35) [6]

TComponent(Source).Name - ну конечно же. спасибо.
>to Smashich
Да, согласен,-прямое приведение типа, но у кого не бывает трудных дней...



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

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



Память: 0.46 MB
Время: 0.009 c
1-51833
JKL
2002-12-05 15:34
2002.12.16
Размер файла


14-51932
?????
2002-11-24 21:37
2002.12.16
<a href=


1-51675
123000
2002-12-05 17:23
2002.12.16
Tables


1-51828
MaXie
2002-12-05 14:49
2002.12.16
Последняя дата месяца?


3-51642
Дмитрий Орехов
2002-11-27 16:19
2002.12.16
Проблема с тригером




   Наверх