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

Вниз

Примитивные объекты: вопрос.   Найти похожие ветки 

 
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 вся ветка

Форум: "KOL";
Текущий архив: 2007.09.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.059 c
2-1188068008
Bad_B
2007-08-25 22:53
2007.09.16
Что я делаю не так?


2-1187604813
Bast
2007-08-20 14:13
2007.09.16
Окно


15-1187529515
vac
2007-08-19 17:18
2007.09.16
Вакансия в Киеве Delphi + SQL


2-1187875140
Fleg
2007-08-23 17:19
2007.09.16
проблема со свойствами объекта


15-1187364665
isasa
2007-08-17 19:31
2007.09.16
Ищу работу в Киеве (Delphi, вроде знаю)





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский