powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / RunTimeTypeInformation (C++ RTTI) в VFP
8 сообщений из 8, страница 1 из 1
RunTimeTypeInformation (C++ RTTI) в VFP
    #32398179
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как проще всего реализовать такие операции на фоксе

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
LOCAL lObject

lObject = createobject('my_object')

wait typeid(lObject).name() window

if dynamic_cast<'my_object_parent'>(lObject)
   wait 'да - lObject - это потомок my_object_parent' window
else
   wait 'нет - не потомок' window
endif
...
Рейтинг: 0 / 0
RunTimeTypeInformation (C++ RTTI) в VFP
    #32398209
Crip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фокс ведь не типизированный язык...
Информацию о наследовании можно получить через aclass() - возвращает массив с именами классов
Найти нужный элемент в массиве ascan()
...
Рейтинг: 0 / 0
RunTimeTypeInformation (C++ RTTI) в VFP
    #32398214
Por
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Por
Гость
У каждого объекта есть свойства Class и BaseClass, так что:

Код: plaintext
1.
2.
3.
4.
LOCAL lObject
lObject = createobject('my_object')

wait window lObject.Сlass timeout  1 
wait window lObject.Сlass + ' это потомок ' + lObject.BaseСlass
...
Рейтинг: 0 / 0
RunTimeTypeInformation (C++ RTTI) в VFP
    #32398227
Por
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Por
Гость
поправочка.

BaseClass содержит инфу о базовых классах фокса, так что если родителей больше 1, то вариант Crip`а лутче.
...
Рейтинг: 0 / 0
RunTimeTypeInformation (C++ RTTI) в VFP
    #32398229
Crip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Por
Есть еще и ParentClass,но классы могут иметь глубокую вложенность.
У меня допустим бывают классы 5-6 уровней...
Пример: Форма-Базовая Форма-Форма справочника-Форма иерархического справочника - Форма иерархического справочника контрагентов - Форма иерархического справочника контрагентов для группового ввода данных.
Полную информацию можно получить только через ACLASS()
...
Рейтинг: 0 / 0
RunTimeTypeInformation (C++ RTTI) в VFP
    #32398240
Por
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Por
Гость
2 Crip

Всю голову уже пеплом засыпал.... Виноват, кто спорит?
...
Рейтинг: 0 / 0
RunTimeTypeInformation (C++ RTTI) в VFP
    #32398243
Crip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не расстраивайся, у тебя еще все получится
Кстати инфу о свойствах Class,BaseClass,ParentClass нужно было тоже донести :)
...
Рейтинг: 0 / 0
RunTimeTypeInformation (C++ RTTI) в VFP
    #32398360
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо - буду копать...
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / RunTimeTypeInformation (C++ RTTI) в VFP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]