Ссылки на GROUP

Clarion, Clarion 7

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

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

Ссылки на GROUP

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

Привет всем ! :)
Подскажите пожалуйста, в чём проблема с объявлением ссылок на GROUP:

Вот так - правильно:

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

Group1  Group,Type
X       SReal
Y       SReal
Next    &Group1
        end
А вот так - уже неправильно:

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

Group1  Group,Type
X       SReal
Y       SReal
Next    &Group1
        end

Group2  Group,Type
Width       SReal
Height      SReal
Link1       &Group1  ! НЕВЕРНЫЙ ТИП ДАННЫХ
        end
Почему !? :(
«V» значит Вендетта !

Аватара пользователя
Дед Пахом
Старичок
Сообщения: 2474
Зарегистрирован: 07 Июль 2005, 15:51
Откуда: Москва, Россия

Ссылки на GROUP

Сообщение Дед Пахом »

По-моему, допускается только &GROUP.
С уважением, ДП

kreator
✯ Ветеран ✯
Сообщения: 3894
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

Ссылки на GROUP

Сообщение kreator »

Игорь Столяров, а в чём неправильность второго варианта? Я не догнал :) .
Ещё "like" есть, если что.
We are hard at work… for you. :)

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4770
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-ДоМу

Ссылки на GROUP

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

kreator писал(а):
10 Январь 2020, 10:03
Я не догнал
Я тоже. Но транслятор говорит, что неправильный тип данных.
LIKE - не подходит, там должна быть ссылка на GROUP.
«V» значит Вендетта !

kreator
✯ Ветеран ✯
Сообщения: 3894
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

Ссылки на GROUP

Сообщение kreator »

У меня на одиннадцатой версии второй вариант прошёл. Без амперсанда, да, ругается.
We are hard at work… for you. :)

Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 1437
Зарегистрирован: 16 Сентябрь 2005, 15:35
Откуда: Москва

Ссылки на GROUP

Сообщение Губин Игорь »

kreator писал(а):
10 Январь 2020, 11:50
Без амперсанда, да, ругается.
Без амперсанда и должен по синтаксису ругаться, т.к. Group1 это тип
Это я только кажусь дураком! На самом деле я полный идиот!

Аватара пользователя
vic7tar
Ветеран
Сообщения: 345
Зарегистрирован: 09 Февраль 2017, 20:12

Ссылки на GROUP

Сообщение vic7tar »

Игорь Столяров писал(а):
09 Январь 2020, 17:49
Вот так - правильно:

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

Group1  Group,Type
X       SReal
Y       SReal
Next    &Group1
        end
...
Вот так совсем неправильно.
Зачем гадать?, ну ведь Дед Пахом указал на правильное направление:

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

Group1  Group,Type
X       SReal
Y       SReal
Next    &Group
        end

Group2  Group,Type
Width       SReal
Height      SReal
Link1       &Group  
         end

G1 Group(Group1). 
G2 Group(Group2).

 CODE
    G1.X = 1
    G1.Y = 2
    G1.Next &= G1

    G2.Height = 3
    G2.Width = 4
    G2.Link1 &= G1
    ...
C10, Win10x64

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4770
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-ДоМу

Ссылки на GROUP

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

vic7tar писал(а):
12 Январь 2020, 13:27
Зачем гадать?, ну ведь Дед Пахом указал на правильное направление:
Оно как бы да, но только в том случае, если сам себе архитектор и программист.
А в моём, тяжёлом, случае описывается структура данных, где эти цепочки групп реализуются внешней DLL на VC6. :(
«V» значит Вендетта !

Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1069
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Контактная информация:

Ссылки на GROUP

Сообщение RaFaeL »

Во внешнюю DLL надо объявлять все эти ссылки как LONG и передавать address()
Посмотри как в libxlsxwriter сделано ну например метод SetPoints ну или попроще SetProperties

Аватара пользователя
vic7tar
Ветеран
Сообщения: 345
Зарегистрирован: 09 Февраль 2017, 20:12

Ссылки на GROUP

Сообщение vic7tar »

RaFaeL писал(а):
12 Январь 2020, 14:36
Во внешнюю DLL надо объявлять все эти ссылки как LONG и передавать address()
Не обязательно, можно как address, а можно как и ссылку на группу.
Игорь Столяров писал(а):
12 Январь 2020, 13:57
А в моём, тяжёлом, случае описывается структура данных, где эти цепочки групп реализуются внешней DLL на VC6.
А этот тяжёлый случай случаем не zint.h? :lol:
C10, Win10x64

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4770
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-ДоМу

Ссылки на GROUP

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

vic7tar писал(а):
12 Январь 2020, 15:10
А этот тяжёлый случай случаем не zint.h?
Ага. В принципе там уже всё разрулилось. :)
«V» значит Вендетта !

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4770
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-ДоМу

Ссылки на GROUP

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

Всё было хорошо, пока не появились классы … :(
Нужно, что бы в классе была ссылка на GROUP заданной структуры.

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

TGroup         Group,Type
Number             Long
Phone                CString(121)
                    end

TClass           Class, Type, Module('XXX.clw'), Link('XXX.clw')
MyGroup              &TGroup     ! <--- ОШИБКА: НЕВЕРНЫЙ ТИП ДАННЫХ
FlagLoad              Byte(False)
                    end
Это можно как-то сделать ?
«V» значит Вендетта !

Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 1437
Зарегистрирован: 16 Сентябрь 2005, 15:35
Откуда: Москва

Ссылки на GROUP

Сообщение Губин Игорь »

Странно, на QUEUE проходит...

Некогда проверять, попробуй &Group(TGroup)
Это я только кажусь дураком! На самом деле я полный идиот!

kreator
✯ Ветеран ✯
Сообщения: 3894
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

Ссылки на GROUP

Сообщение kreator »

Вот так прокатывает:

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

TClass           Class, Type, Module('XXX.clw'), Link('XXX.clw')
MyGroup              &Group
FlagLoad              Byte(False)
                    end
В ABC классах много таких конструкций. Всё равно же передаётся адрес. Даже если и не в клариновскую часть.
We are hard at work… for you. :)

Аватара пользователя
Дед Пахом
Старичок
Сообщения: 2474
Зарегистрирован: 07 Июль 2005, 15:51
Откуда: Москва, Россия

Ссылки на GROUP

Сообщение Дед Пахом »

Объявите LIKE(TGroup) в классе, и проблем не будет:

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

TClass   Class, Type, Module('XXX.clw'), Link('XXX.clw')
MyGroup              LIKE(TGroup)
FlagLoad              Byte(False)
                    end
С уважением, ДП

Ответить