Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.48 MB
Время: 0.021 c
2-1187754858
АндрейК
2007-08-22 07:54
2007.09.16
при нажатии кнопки F2 нажималась button1


4-1174766392
Дмитрий Белькевич
2007-03-24 22:59
2007.09.16
Как зазипоповать файл win xp api?


4-1174744851
Ma[X]iM
2007-03-24 17:00
2007.09.16
Загрузка процессора


15-1187354195
@!!ex
2007-08-17 16:36
2007.09.16
Подскажите софт.


11-1167401313
Max727
2006-12-29 17:08
2007.09.16
Вопросы новичка, ответов на которые он не нашел