Форум: "Основная";
Текущий архив: 2006.06.25;
Скачать: [xml.tar.bz2];
ВнизОбращение к классу Найти похожие ветки
← →
saxon (2006-05-18 18:01) [80]
> Form1.TipLabel(Popup1.PopupComponent).???.DoSomthing
Кроме Form1, больше ничего не понял :)
Что тут TipLabel - судя по семантике это функция (тогда что она возвращает)?
Popup1?
тем более Popup1.PopupComponent?
← →
webpauk (2006-05-18 18:05) [81]Form1.FLabel.Popup=Popup1
обратиться к свойствам Flabel из Popup.MenuItem1: Tlabel(Popup1.PopupComponent).в моем случае class TipLabel (Tlabel) - TipLabel(Popup1.PopupComponent).
← →
webpauk (2006-05-18 18:07) [82]а как обратиться к методам класса Tgroup через TipLabel?
← →
Сергей М. © (2006-05-19 09:23) [83]
> как обратиться к методам класса Tgroup через TipLabel?
>
В данной реализации - никак.
Сделай TGroup наследником TComponent и указывай TGroup-объект в качестве Owner"a для всех объектов TIPLabel, относящихся к данному TGroup-объекту.
Тогда обращение будет выглядеть след.образом
TGroup(fLabel.Owner).DoSomething
← →
webpauk (2006-05-19 09:41) [84]
> Сергей М. © (19.05.06 09:23) [83]
спасибо
вот это - позитив.
← →
webpauk (2006-05-19 09:44) [85]Tgroup=class(TComponent) ~ fLabel.ClassCreated:=Self (ClassCreated: Tobject)
← →
Сергей М. © (2006-05-19 10:20) [86]
> webpauk (19.05.06 09:44) [85]
Опять ты за свое ?)
Не нужно тебе никаких ClassCreated !
Тебе нужно узнать какому объекту класса TUser "принадлежит" тот или иной объект класса TIPLabel ? Вот для того св-во Owner и существует !
SomeUserObject := TUser.Create(..); //TUser = class(TComponent) !!
..
SomeIPLabelObject := TIPLabel.Create(SomeUserObject); //отныне владельцем только что созданного объекта класса TIPLabel становится ранее созданный объект класса TUser, ссылку на который ты передал параметром SomeUserObject !!
Все !
Теперь в любой момент обращение вида
TUser(SomeIPLabelObject.Owner).DoSomething
приведет к вызову метода DoSomething именно того объекта, который является владельцем объекта SomeIPLabelObject !
← →
webpauk (2006-05-19 10:23) [87]да я понял...
даже с первого раза...
но если TUser = class, а не TUser = class(TComponent) , то решением будет мой вариант
← →
Сергей М. © (2006-05-19 11:35) [88]
> webpauk (19.05.06 10:23) [87]
Ну если тебе хочется изобрести велосипед, то на здоровье)
Но при этом следовало хотя бы устранить путаницу в смысловом контексте выбранных тобой имен идентификаторов.
← →
webpauk (2006-05-19 11:47) [89]
> Сергей М. © (19.05.06 11:35) [88]
дык Tuser не наследник Tcomponent. Tuser = class
← →
Сергей М. © (2006-05-19 11:51) [90]
> webpauk (19.05.06 11:47) [89]
Дык сделай его наследником Tcomponent ?
Что мешает-то ?
← →
webpauk (2006-05-19 12:21) [91]
> Сергей М. © (19.05.06 11:51) [90]
уже...
только какой же он, блин, наследник?
так - ни то, ни сё :)
← →
Сергей М. © (2006-05-19 13:07) [92]
> webpauk (19.05.06 12:21) [91]
> какой же он, блин, наследник?
Как это какой ?!
Точно такой же полноправный наследник ..
Страницы: 1 2 3 вся ветка
Форум: "Основная";
Текущий архив: 2006.06.25;
Скачать: [xml.tar.bz2];
Память: 0.6 MB
Время: 0.015 c