Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.06.25;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.53 MB
Время: 0.011 c
4-1143489021
FunkyByte
2006-03-27 23:50
2006.06.25
Рихтер ошибся?


3-1146644186
Evyshka
2006-05-03 12:16
2006.06.25
создание файла ASCII


1-1147986841
Германн
2006-05-19 01:14
2006.06.25
Установка Indy9 на Д6


1-1147967851
agaga
2006-05-18 19:57
2006.06.25
Запретить растягивать картинку


15-1149144079
Зфяшекщт
2006-06-01 10:41
2006.06.25
Нужен ли Линукс вообще?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский