Страница 1 из 1

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

Добавлено: 20 Сентябрь 2023, 8:19
Игорь Столяров
Привет всем !

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

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

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.
Почему я не могу включить в тип группы указатель на другую группу (что бы к ней обращаться по составному имени) ?!
Заранее спасибо за помощь.

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

Добавлено: 20 Сентябрь 2023, 10:05
Игорь Столяров
В принципе - разрулил проблему.

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

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) - так и осталось загадкой. :(

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

Добавлено: 20 Сентябрь 2023, 11:13
finsoftrz
Почему не просто группу, а указатель? Наверно, смысла нет в такой конструкции, поэтому и не может.

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

Добавлено: 20 Сентябрь 2023, 11:26
Игорь Столяров
finsoftrz писал(а): 20 Сентябрь 2023, 11:13 смысла нет в такой конструкции, поэтому и не может
Звучит логично. :)
Если я в примере не публикую кирпичиком на несколько листов состав группы, то это не значит что она маленькая. ;)
Группа - это набор свойств объекта, которые инициализируются при необходимости (наличии их у объекта).
Я нашёл это место в описании, но почему можно включать в группу &Queue и нельзя &Group - непонятно. :(

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

Добавлено: 20 Сентябрь 2023, 13:05
finsoftrz
Ну, просто никому в голову не приходило, что в составе группы может быть другая группа, которой может не быть. :-) Наверно, как и то, что внешнюю струтуру полностью маппить на свою, а потом разбирать, вместо того, чтобы сразу разбирать. Понятно, что у каждого мастера свое конг-фу. :-) Вариант с кьшкой вполне нормальный, обходит это ограничение.