Текущий архив: 2007.09.16;
Скачать: CL | DM;
ВнизПримитивные объекты: вопрос. Найти похожие ветки
← →
Trible (2007-01-23 21:11) [0]Всем привет.
Есть Pobj. от FindObject.
Можно ли как-то узнать кто он - Pcontrol или PMenu или еще кто то?
Может есть функции типа IsPcontrol(Obj: Pobj) итп.
Если нету то как свои сделать, куда смотреть?
Или может есть хитрости типа :
if Pcontrol(Obj).?? =
← →
Trible (2007-01-24 19:02) [1]Помогите с этим вопросом.
Этот вопрос сходен с вопросом про popup меню.
Вот что вы Владимир отетили:
можно посмотреть на список объектов, добавленных в список Add2AutoFree.
Опять же там Pobj . Как узнать что это PMenu или Pcontrol ?
← →
Vladimir Kladov (2007-01-24 20:29) [2]В KOL нет RTTI. AncestorOfObject - не работает правильно (кажется). Вообще, для любой задачи есть методы решения. RTTI - это не задача, а метод. Вы задачу поясните.
← →
Psychedelic © (2007-01-24 20:31) [3]Ну например взять его дескриптор и подсунуть его IsMenu.
если вернет истину, значит меню. И пошло поехало.
Pcontrol(объект).handle
← →
Trible (2007-01-24 20:49) [4]Нужно найти на форме popupMenu и основное меню.
Это компонент делаю который сканит всё что на форме (это часть действия).
К примеру остальные компоненты я нахожу перебором в for, свойства Children.
В результате получаю Pcontrol, и здесь узнаю имя этого контрола. Итп
Но с помощью свойства Children я не могу найти ни popup меню ни основное меню. Если бы там было меню я бы и не спрашивал.
Поэтому я решил прокручивать NamedObjectsList, получая Pobj (имена я использую). Проверять на nil, и получать Pobj. Другого пути получить меню я так понял нету.
Ну а что с ним делать дальше с Pobj, я не знаю, как мне узнать что это PMenu, (нужно забрать все надписи (текст))?
← →
Psychedelic © (2007-01-24 22:32) [5]
> Pcontrol(объект).handle
Думаю догадались что PMenu хотел сказать.
← →
Vladimir Kladov (2007-01-25 15:29) [6]Допустим, получить список простых объектов, приаттаченных на автоуничтожение, можно просто выкинув из этого списка контролы. Но дальше - RTTI нет, и вы не сможете узнать, было это меню или не меню.
А зачем вообще нужна динамика? Ведь форма каждый раз создается одна и та же, с тем же набором всего, что ей принадлежит. Может, стоит начать с design-time? Пусть для вашего мудрого объекта сгенерится некоторое число вызовов типа AddObjectToHandle( obj: PObj; ... ); и во время работы он просто получит то, что ему надо, ничего не отыскивая, а просто беря из своего списка.
← →
Psychedelic © (2007-01-25 17:45) [7]2 trible
Слушайте мы случайно не одну работу делаем?
Вы не мультиязыковой компонент делаете?
Просто у меня теже вопросы возникали, возился сидел...
Страницы: 1 вся ветка
Текущий архив: 2007.09.16;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.053 c