Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.25;
Скачать: CL | DM;

Вниз

Обращение к классу   Найти похожие ветки 

 
webpauk   (2006-05-18 13:49) [0]

 TUser = class
 private
   fLabel: array of TLabel;
 public
   constructor Create;
   destructor Destroy; override;
   procedure DoSomething;
 end;


есть такой класс. А как из отдельно взятого fLabel обратиться к TUser.DoSomething?


 
MBo ©   (2006-05-18 13:55) [1]

Ыуда


 
webpauk   (2006-05-18 13:56) [2]

Удалено модератором


 
Сергей М. ©   (2006-05-18 13:57) [3]


> webpauk   (18.05.06 13:56) [2]


В смысле 30 серебреников готовь в кач-ве оплаты консультации))


 
webpauk   (2006-05-18 13:58) [4]


> Сергей М. ©   (18.05.06 13:57) [3]

:-(
нету


 
Плохиш ©   (2006-05-18 13:59) [5]


> А как из отдельно взятого fLabel обратиться к TUser.DoSomething?

Например так "Ну ты ... в натуре ... чувак ... я к тебю общаюсь ... ну ты понЯл..."

PS. Что так до сих пор не научился правильно вопросы формулировать?


 
webpauk   (2006-05-18 14:01) [6]

вопрос такой:
как из конкретного Tlabel, расположенного на форме обратиться к методам класса из которого родился Tlabel?


 
MBo ©   (2006-05-18 14:01) [7]

Ыуда => Self (в методах класса)

Замечательная транслитерация получилась ;)))


 
Сергей М. ©   (2006-05-18 14:02) [8]


> webpauk   (18.05.06 13:49)


Сам то понял что спросил ?


 
webpauk   (2006-05-18 14:04) [9]


> MBo ©   (18.05.06 14:01) [7]

Self.ClassParent = Tobject


 
MBo ©   (2006-05-18 14:06) [10]

Пардон, невнимательно прочитал вопрос, так что про Self - не в струю, наверно.

Автор, поясни вопрос поподробнее.


 
webpauk   (2006-05-18 14:11) [11]

кароче, сделал я TmyLabel(TLabel), где и прописал в Public declarations: ClassCreated: Pointer;
а в constructor Tuser.Create определил ClassCreated:=Self;
и теперь TmyLabel(fLabel.ClassPointer).ClassName показывает Tuser.
Вот так вот.


 
Сергей М. ©   (2006-05-18 14:13) [12]


> webpauk   (18.05.06 14:11) [11]


И при этом ты сходил в гости к соседу через Китай)


 
webpauk   (2006-05-18 14:14) [13]


> Сергей М. ©   (18.05.06 14:13) [12]

подскажи варик попроще


 
webpauk   (2006-05-18 14:14) [14]

и вообще - главное: работает!


 
Сергей М. ©   (2006-05-18 14:15) [15]

К тому же пургу ты гонишь - при fLabel: array of TLabel строчка fLabel.ClassPointer не может быть скомпилирована, ибо бессмысленна.


 
Сергей М. ©   (2006-05-18 14:16) [16]


> варик


Это, пардон, что такое ?)


 
webpauk   (2006-05-18 14:16) [17]


> Сергей М. ©   (18.05.06 14:15) [15]

fLabel[I].ClassPointer


 
webpauk   (2006-05-18 14:17) [18]


> Сергей М. ©   (18.05.06 14:16) [16]

variant


 
Сергей М. ©   (2006-05-18 14:17) [19]


> webpauk   (18.05.06 14:16) [17]

см. TObject.Classtype


 
Плохиш ©   (2006-05-18 14:19) [20]


> webpauk   (18.05.06 14:11) [11]

Я, честно сказать, так и не понял, что "великому гению" надо. Но телепатор подсказывает, что "великий гений" пытается сделать свой Owner.


 
webpauk   (2006-05-18 14:19) [21]

Flabel[I].classtype=Tlabel


 
webpauk   (2006-05-18 14:21) [22]


> Плохиш ©   (18.05.06 14:19) [20]

точно
потому как Owner такого fLabel[I]=Form1 (или компонент, на котором оно находится)


 
MBo ©   (2006-05-18 14:26) [23]

возможно, такой пример поможет:

в TUser.Create
fLabel[0]:= TLabel.Create(...)// если они внутри создаются
fLabel[0].Tag := Integer(Self)

...

TUser(fLabel[0].Tag).DoSomething


 
webpauk   (2006-05-18 14:29) [24]


> MBo ©   (18.05.06 14:26) [23]

не поможет
Tag используется


 
Сергей М. ©   (2006-05-18 14:35) [25]


> webpauk   (18.05.06 14:19) [21]


Врешь ведь ...

Проверяй :

type
 TMyObject = class(TObject)
 end;

procedure TTestForm.Button3Click(Sender: TObject);
var
 Obj: TObject;
begin
 Obj := TMyObject.Create;
 ShowMessage(Obj.ClassName); //Увидишь именно "TMyObject", а не "TObject", несмотря на то что Obj: TObject
end;


 
webpauk   (2006-05-18 14:35) [26]


> MBo ©   (18.05.06 14:26) [23]

вопрос имел целью определить есть ли какие либо свойства Tlabel(Tobject), которые позволяют обратиться напрямую, без использования вспомогательных свойств Tlabel, к классу-создателю


 
Сергей М. ©   (2006-05-18 15:03) [27]


> к классу-создателю


Галиматья


 
Плохиш ©   (2006-05-18 15:11) [28]


> webpauk   (18.05.06 14:21) [22]
>
> > Плохиш ©   (18.05.06 14:19) [20]
>
> точно
> потому как Owner такого fLabel[I]=Form1 (или компонент,
> на котором оно находится)

Чушь полная и не прекрытая и отсутствие знаний.

constructor TUser.Create;
begin
 ...
 fLabel[i] := TLabel.Create(self);
 ...
end;


 
Сергей М. ©   (2006-05-18 15:14) [29]


> webpauk   (18.05.06 14:35) [26]


Ты разницу между "класс-создатель" и "объект-владелец" осюсяешь ?


 
webpauk   (2006-05-18 15:48) [30]


> Сергей М. ©   (18.05.06 15:03) [27]

суть то ты хоть понял? не в определениях дело


 
Джо ©   (2006-05-18 15:50) [31]

> [30] webpauk   (18.05.06 15:48)
>
> > Сергей М. ©   (18.05.06 15:03) [27]
>
> суть то ты хоть понял? не в определениях дело

Как это не в них? Если на автомобильном форуме Феррари будут называть Жигулем, а Жигуль — самокатом Хонда, как думаешь, смогут до чего-нибудь толкового договориться?


 
Сергей М. ©   (2006-05-18 15:52) [32]


> webpauk   (18.05.06 15:48) [30]


> суть то ты хоть понял?


Как ты изложил суть, так я ее и понял.


> не в определениях дело


Да неужели ?

Ты там, кажется, в [22] про Owner что-то пробухтел ?)
Ну так вот изволь для начала объяснить свое видение связи терминов "создатель" и "владелец" ..


 
Сергей М. ©   (2006-05-18 15:54) [33]


> webpauk   (18.05.06 15:48) [30]


И надеююсь, что ты не облажаешься, хотя бы потому что разместил свой вопрос в "Общие", а не в "Начинающие" (куда, imho, тебе дорога давно уже протоптана)


 
webpauk   (2006-05-18 15:59) [34]

Удалено модератором


 
Сергей М. ©   (2006-05-18 16:01) [35]

Удалено модератором


 
Плохиш ©   (2006-05-18 16:03) [36]


> webpauk   (18.05.06 15:59) [34]

http://ln.com.ua/~openxs/articles/smart-questions-ru.html

> Сергей М. ©   (18.05.06 16:01) [35]

Спокойствие, только спокойствие.


 
webpauk   (2006-05-18 16:06) [37]


> Плохиш ©   (18.05.06 16:03) [36]

спасибо
но, чтобы правильно сформулировать вопрос, надо знать хотя бы часть ответа на него


 
webpauk   (2006-05-18 16:06) [38]

Удалено модератором


 
Сергей М. ©   (2006-05-18 16:07) [39]


> webpauk   (18.05.06 15:59) [34]


К тому же дин.массив твой в этом плане нафих не нужен, ибо достаточно было наследовать TUser от TComponent и создавать все свои "новомодные" Label"ы с параметром Owner, равным ссылке на этот самый твой компонент-владелец.

p.s.

Еще раз - изобретатели велосипедов здесь живут в "Начинающие")


 
webpauk   (2006-05-18 16:09) [40]

Удалено модератором



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

Текущий архив: 2006.06.25;
Скачать: CL | DM;

Наверх




Память: 0.55 MB
Время: 0.074 c
3-1146403124
Berezne
2006-04-30 17:18
2006.06.25
Проверка на количество введенных символов


1-1147968131
@LeX-I
2006-05-18 20:02
2006.06.25
Проблема выделения текста в RichEdit


2-1149512871
VitV
2006-06-05 17:07
2006.06.25
Не могу найти компоненты TSocket....


2-1149580120
JTAG
2006-06-06 11:48
2006.06.25
Господа подскажите плз, где можно иконки для программы поискать


15-1149066120
Некто
2006-05-31 13:02
2006.06.25
Вопрос по ГИСам