Clarion 11-12
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 5226
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 12 раз
- Поблагодарили: 63 раза
Clarion 11-12
Да там вообще не факт, что делали какой-то рефакторинг кода. Это все со слов RZ, мы сами изменений не видим.
C6/C12, ШВС, tps/btrieve.
Clarion 11-12
По поводу универсального STRING. Если исходить из информации на ClarionHub как это реализовано, то, да, обратная совместимость с ANSI строками должна быть (хотя, имеются вещи, которые надо бы проверить...). Но вот в отношении значений в Unicode/UTF8 кодировке, имеются вопросы, например,
- можно ли использовать VAL(Str[1]), чтобы получить код первого символа, а не VAL(SUB(Str, 1, 1))
- как получить значение, скажем, поля lfFaceName из структуры LOGFONTW
- можно ли использовать wide-char варианты функций C типа strlenW без предварительного анализа содержимого
- как интерпретируются значения GROUP/QUEUE/RECORD, используемых в контексте, где они выступают в качестве строк
и т.п.
Подозреваю, что новая реализация строк убивает возможность взаимодействия программ на Clarion с кодом не на Clarion, использующим Unicode.
- можно ли использовать VAL(Str[1]), чтобы получить код первого символа, а не VAL(SUB(Str, 1, 1))
- как получить значение, скажем, поля lfFaceName из структуры LOGFONTW
- можно ли использовать wide-char варианты функций C типа strlenW без предварительного анализа содержимого
- как интерпретируются значения GROUP/QUEUE/RECORD, используемых в контексте, где они выступают в качестве строк
и т.п.
Подозреваю, что новая реализация строк убивает возможность взаимодействия программ на Clarion с кодом не на Clarion, использующим Unicode.
- Игорь Столяров
- Ветеран движения
- Сообщения: 8016
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 94 раза
Clarion 11-12
ДД !
Как я понимаю - да, это оно и есть, но при условии выставления системных параметров локализации:
Можно. Описание есть в справке. Но нельзя ПРИСВОИТЬ значение первому символу.FromSPB писал(а): 17 Май 2025, 21:55 можно ли использовать VAL(Str[1]), чтобы получить код первого символа, а не VAL(SUB(Str, 1, 1))
Код: Выделить всё
You can address multiple characters within a USTRING using the "string slicing" technique.
This technique performs similar action to the SUB function, but does no bounds checking so care must be used.
String slicing is not allowed on the left side of assignments.
For example:
USTR[1] = 'A' <----- Error, results in an invalid string
Ничего не изменилось. В данном контексте USTRING - это просто CSTRING удвоенного размера.FromSPB писал(а): 17 Май 2025, 21:55 - как интерпретируются значения GROUP/QUEUE/RECORD, используемых в контексте, где они выступают в качестве строк
Код: Выделить всё
The length parameter declares the number of characters (minus 1 for the for the null character) that the USTRING can contain.
The memory allocated is double the declared size (2 bytes per character).
Вот здесь уже начинается область догадок и предположений ...FromSPB писал(а): 17 Май 2025, 21:55 - можно ли использовать wide-char варианты функций C типа strlenW без предварительного анализа содержимого
Как я понимаю - да, это оно и есть, но при условии выставления системных параметров локализации:
Код: Выделить всё
System{Prop:Codepage} = 65001 ! <- UTF-8 / 1251 Cyrillic
System{Prop:Locale} = 1049 ! Russian
Make Clarion Great Again ! 
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 5226
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 12 раз
- Поблагодарили: 63 раза
Clarion 11-12
Проблема с сохранением панелей в с12 похоже проявляется только в PE варианте. Для ее решения надо вручную скопировать содержимое каталога C:\Clarion11\data\resources\layouts в C:\Clarion12\data\resources\layouts. Аналогично можно скопировать и некоторые другие настройки из с11.
C6/C12, ШВС, tps/btrieve.
- Игорь Столяров
- Ветеран движения
- Сообщения: 8016
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 94 раза
Clarion 11-12
Почему некоторые ? Там разве появились какие-то новые настройки ?
Если скопировать папку:
"C:\Users\User\AppData\Roaming\SoftVelocity\Clarion\11.0" в "C:\Users\User\AppData\Roaming\SoftVelocity\Clarion\12.0"
то переносятся все настройки среды. Я разницы не вижу вообще ...

Make Clarion Great Again ! 
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 5226
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 12 раз
- Поблагодарили: 63 раза
Clarion 11-12
Это пользовательские настройки. А есть еще "системные", которые в C:\Clarion11\data\resources. То есть в layouts в каталоге клариона хранятся базовые, которые идут в поставке, а в layouts в каталоге пользователя те, которые мы создаем сами. Причем, если системный layouts пустой, то новые пользовательские не создавались, но скопированные работали.
Я пощелкал немного в среде. В принципе, разницы с с11 не замечаю. В параметрах (Options) добавились несколько дополнительных настроек, не принципиальных. В моем случае есть смысл перейти на среду с12 (если ничего не всплывет), так как из нее можно собирать все нижние версии. Сейчас приходилось работать в с11, а для тестирования anyscreen переключаться на с11.1 из-за рег.ном.
Я пощелкал немного в среде. В принципе, разницы с с11 не замечаю. В параметрах (Options) добавились несколько дополнительных настроек, не принципиальных. В моем случае есть смысл перейти на среду с12 (если ничего не всплывет), так как из нее можно собирать все нижние версии. Сейчас приходилось работать в с11, а для тестирования anyscreen переключаться на с11.1 из-за рег.ном.
C6/C12, ШВС, tps/btrieve.
- Игорь Столяров
- Ветеран движения
- Сообщения: 8016
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 94 раза
Clarion 11-12
Проверьте пожалуста экспорт отчётов в PDF.
У меня при сборке в C12 русский текст пропал от слова совсем.
(не обманул RZ - действительно работали и в есть изменения !)
У меня при сборке в C12 русский текст пропал от слова совсем.

(не обманул RZ - действительно работали и в есть изменения !)

Make Clarion Great Again ! 
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 5226
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 12 раз
- Поблагодарили: 63 раза
Clarion 11-12
Я его не использую. У меня экспорт в pdf через image2pdf.dll. А рантайм, в основном, с63.
C6/C12, ШВС, tps/btrieve.
- Игорь Столяров
- Ветеран движения
- Сообщения: 8016
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 94 раза
Clarion 11-12
Хитро ! Но ведь в AnyScreen создание отчётов всё равно идёт через штатный ABPRI2PDF ?
Make Clarion Great Again ! 
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 5226
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 12 раз
- Поблагодарили: 63 раза
Clarion 11-12
Нет, у них своя AnyScreenPDF.dll.Игорь Столяров писал(а): 18 Май 2025, 12:38Хитро ! Но ведь в AnyScreen создание отчётов всё равно идёт через штатный ABPRI2PDF ?
C6/C12, ШВС, tps/btrieve.
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 5226
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 12 раз
- Поблагодарили: 63 раза
Clarion 11-12
А скорость компиляции у Вас выросла? Я что-то не замечаю изменений.
C6/C12, ШВС, tps/btrieve.
- Игорь Столяров
- Ветеран движения
- Сообщения: 8016
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 94 раза
Clarion 11-12
И снова бинго ! Умеете Вы избегать проблемы ...
Я смог восстановить русский в PDF только полным сносом C12 с компьютера.
Я не замерял. Если и изменилась - то не радикально.
С другой стороны, ситуация таже что Вы описывали для отложенных изменений в шаблонах.
Если проект из 20 APP (~1700 CLW) полностью генерится и компилируется за ~6 минут - то нужно ли что-то городить ?
Make Clarion Great Again ! 
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 5226
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 12 раз
- Поблагодарили: 63 раза
Clarion 11-12
У меня самый большой солюшен после изменений в словаре собирается примерно 12-15 мин. Если бы ускорить раза в 2, было бы хорошо. 

C6/C12, ШВС, tps/btrieve.
- Игорь Столяров
- Ветеран движения
- Сообщения: 8016
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 94 раза
Clarion 11-12
Быстрее (и дешевле) Вы получите желаемый результат со стороны компьютера с современным процессором и RAM,
а не всей вот этой "бла-бла-бла, алло планета Clarion !" с их бесконечным рукожопством и "meticulous work".
Make Clarion Great Again ! 