Иерархия Объекта | |
---|---|
dfr Сообщений: 254 Откуда: Барнаул Дата регистрации: 29.07.2005 |
Может кто делал уже (готовый пример)?
Пример. Для пути: EDIT_4.PF1.PAGE_USL.COMMAND5 получить: Форма Изменение данных/PF1/Вкладка Условия/Кнопка Обновить Это для отладки. |
Re: Иерархия Объекта | |
---|---|
sphinx Сообщений: 31616 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Уже было хотел написать, что есть SYS(1272, oObjectName), но проверил в своём проекте для главной формы - возвращает для SYS(1272, thisform) --> "frm_name".
------------------ "Veni, vidi, vici!"(с) |
Re: Иерархия Объекта | |
---|---|
dfr Сообщений: 254 Откуда: Барнаул Дата регистрации: 29.07.2005 |
Да, как в SYS(1272..) Name заменить на Caption.
|
Re: Иерархия Объекта | |
---|---|
sphinx Сообщений: 31616 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Если всё дерево об'ектов не надо строить (например, на момент активации форм), то создать свойство формы и при каждом заходе в очередной об'ект - накапливать в формате:
thisform.object_path = thisform.object_path + this.parent.Name + ":" + this.parent.Caption + "-->"+ this.Name + ":" + this.Caption. А если надо собрать всё пути по всём об'ектам - тогда, видимо, рекурсивную функцию писать, на заданном об'екте (например форме) создаём коллекцию содержащихся об'ектов первого уровня, потом берём первый - у него строим такую же коллекцию... Когда всё иерархии внутри первого об'екта первого уровня созданы - по аналогии создаём иерархии для второго об'екта первого уровня.... Нам какой нужен вариант - 1 или 2? ------------------ "Veni, vidi, vici!"(с) |
Re: Иерархия Объекта | |
---|---|
sphinx Сообщений: 31616 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
А просто сохранить заданный об'ект в переменную/свойство, а потом извлекать Caption: oObject = this ? oObject.Caption ------------------ "Veni, vidi, vici!"(с) |
Re: Иерархия Объекта | |
---|---|
akvvohinc Автор Сообщений: 4367 Откуда: Москва Дата регистрации: 11.11.2008 |
Написать свою mysys1272, в которой собирать строку в цикле от текущего объекта вверх через свойство Parent. |
Re: Иерархия Объекта | |
---|---|
dfr Сообщений: 254 Откуда: Барнаул Дата регистрации: 29.07.2005 |
Вот про это и спрашивал, т.к. непонятно где это брать - текущий объект, Parent.. EDIT_4.PF1.PAGE_USL.COMMAND5 и т.д., ... - уже собираются в логах. Исправлено 1 раз(а). Последнее : dfr, 20.11.23 02:36 |
Re: Иерархия Объекта | |
---|---|
akvvohinc Автор Сообщений: 4367 Откуда: Москва Дата регистрации: 11.11.2008 |
Цитата:В таком случае уже мне непонятно - какой объект вы подставляете в SYS(1272), если вам непонятно, где брать текущий объект? Приведите пример вызова функции SYS(1272), в котором вас все устраивает, кроме отображения свойства Name (вы написали, что вам бы хотелось заменить Name на Caption). Что же касается свойства Parent, то брать/искать его не надо - оно просто есть у визуальных объектов и предназначено для хранения ссылки на родительский объект. Поэтому передавая в функцию ссылку на объект, вы проверяете, является ли его свойство Parent ссылкой на объект, и если да, обрабатываете родителя, и так далее, пока на достигнете объекта-формы, у которого свойство Parent скорее всего не будет ссылкой на объект (нет родителя). А в процессе этих передвижений снизу вверх вы собираете вашу строку из тех свойств, например Caption, которые вам нужны и имеются у объекта. Вот примерный порядок действий, который я описывал (упрощенно):
Исправлено 1 раз(а). Последнее : akvvohinc, 20.11.23 04:10 |
Re: Иерархия Объекта | |
---|---|
dfr Сообщений: 254 Откуда: Барнаул Дата регистрации: 29.07.2005 |
Упрощенно.
Теперь у меня много записей в поле step1, типа:
|
Re: Иерархия Объекта | |
---|---|
akvvohinc Автор Сообщений: 4367 Откуда: Москва Дата регистрации: 11.11.2008 |
Цитата:Значит, и ту функцию, пример которой я привел, вы вызываете аналогично: sys1272(this) |
Re: Иерархия Объекта | |
---|---|
dfr Сообщений: 254 Откуда: Барнаул Дата регистрации: 29.07.2005 |
Спасибо за код, воспользуюсь. Вопрос был в другом - что можно сделать с уже множеством сохраненных данных
что бы перевести их в читаемый вид (Caption вместо Name). |
Re: Иерархия Объекта | |
---|---|
PaulWist Сообщений: 14693 Дата регистрации: 01.04.2004 |
------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: Иерархия Объекта | |
---|---|
akvvohinc Автор Сообщений: 4367 Откуда: Москва Дата регистрации: 11.11.2008 |
При таком подходе всё это работать не будет - формы-то не существует, есть просто открытая таблица формы. Исправлено 2 раз(а). Последнее : akvvohinc, 21.11.23 15:23 |
Re: Иерархия Объекта | |
---|---|
PaulWist Сообщений: 14693 Дата регистрации: 01.04.2004 |
Ага, лень было исправлять
------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: Иерархия Объекта | |
---|---|
of63 Сообщений: 25599 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
свойство Parent, Name, и вообще "стандартная" структура, бывает не всегда...
типа o = CREATEOBJECT("Empty") q = CREATEOBJECT("Empty") =ADDPROPERTY(q, "myObject", m.o) В случае фоксовых видеообьектов можно... Если знать зачем, то может и не нужно окажется |
Re: Иерархия Объекта | |
---|---|
akvvohinc Автор Сообщений: 4367 Откуда: Москва Дата регистрации: 11.11.2008 |
Да и вообще Caption объекта в таблице формы и реальный Caption объекта в Run-time - две большие разницы.
Это уж не говоря о том, что и сами объекты могут создаваться программно, а поэтому искать их в таблицах бессмысленно. А если вспомнить про классы, то вся эта затея теряет смысл, или может использоваться лишь в частных, редких случаях. Я думаю, что проблема замены в существующих записях журнала решится со временем сама собой в процессе работы, если дополнить новую функцию соответствующим функционалом - при записи в журнал новых данных о некотором объекте (Caption) можно одновременно найти и исправить старые записи о нем, основанные на Name (sys(1272) ). И автору - Caption объекта, в отличие от Name, вещь переменная, так что строка в журнале, соответствующая одному и тому же объекту, в процессе работы может иметь миллион комбинаций, если его "полный путь" построен на Caption родителей. Исправлено 1 раз(а). Последнее : akvvohinc, 21.11.23 15:32 |
© 2000-2024 Fox Club  |