И снова указатель на группу :(

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7378
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

И снова указатель на группу :(

Сообщение Игорь Столяров »

Привет всем !

Что-то я опять заблудился в объявлении данных.
Мне нужен составной тип данных с описанием фильтра.

Код: Выделить всё

TVCost    Group,Type
FMore       Byte(True)
FLess       Byte(True)
          end
TFilt     Group,Type
Cost1       &TVCost   ! <- Not valid inside structure
Cost2       &TVCost
          end

MyCost1  Group(TVCost).          
MyFilt  Group(TFilt).

  Code
  If MyFilt.Cost1 &= Null then MyFilt.Cost &= MyCost1.
Почему я не могу включить в тип группы указатель на другую группу (что бы к ней обращаться по составному имени) ?!
Заранее спасибо за помощь.
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7378
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

И снова указатель на группу :(

Сообщение Игорь Столяров »

В принципе - разрулил проблему.

Код: Выделить всё

TVCost    Queue,Type  ! Вместо Group
FMore       Byte(True)
FLess       Byte(True)
          end
TFilt     Group,Type
Cost1       &TVCost
Cost2       &TVCost
          end

MyCost1  Group(TVCost).          
MyFilt  Group(TFilt).

  Code
  If MyFilt.Cost1 &= Null then MyFilt.Cost &= MyCost1.
Но почему GROUP не может содержать указатель на GROUP (но может указатель на QUEUE) - так и осталось загадкой. :(
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4618
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

И снова указатель на группу :(

Сообщение finsoftrz »

Почему не просто группу, а указатель? Наверно, смысла нет в такой конструкции, поэтому и не может.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7378
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

И снова указатель на группу :(

Сообщение Игорь Столяров »

finsoftrz писал(а): 20 Сентябрь 2023, 11:13 смысла нет в такой конструкции, поэтому и не может
Звучит логично. :)
Если я в примере не публикую кирпичиком на несколько листов состав группы, то это не значит что она маленькая. ;)
Группа - это набор свойств объекта, которые инициализируются при необходимости (наличии их у объекта).
Я нашёл это место в описании, но почему можно включать в группу &Queue и нельзя &Group - непонятно. :(
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4618
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

И снова указатель на группу :(

Сообщение finsoftrz »

Ну, просто никому в голову не приходило, что в составе группы может быть другая группа, которой может не быть. :-) Наверно, как и то, что внешнюю струтуру полностью маппить на свою, а потом разбирать, вместо того, чтобы сразу разбирать. Понятно, что у каждого мастера свое конг-фу. :-) Вариант с кьшкой вполне нормальный, обходит это ограничение.
C6/C11, ШВС, tps/btrieve.
Ответить