Главная страница
    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.042 c
2-1187721247
malyar
2007-08-21 22:34
2007.09.16
indiclient.lastcmdresult


2-1187717807
Alex.rus
2007-08-21 21:36
2007.09.16
CreateProcess


15-1187600182
@!!ex
2007-08-20 12:56
2007.09.16
ИНтересно, мне будет втык...


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


2-1187762201
Виктор007
2007-08-22 09:56
2007.09.16
StrAlloc на АПИ





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