Страница 221 из 221
Clarion 11-12
Добавлено: 03 Март 2026, 13:42
Губин Игорь
finsoftrz писал(а): 03 Март 2026, 13:00
Ребенку, съевшему собаку" сколько годиков то?
Мне до пенсии осталось всего ничего.
Так речь не о кларионе как таковом.
Clarion 11-12
Добавлено: 03 Март 2026, 15:26
PavelNK
Губин Игорь писал(а): 03 Март 2026, 13:42
finsoftrz писал(а): 03 Март 2026, 13:00
Ребенку, съевшему собаку" сколько годиков то?
Мне до пенсии осталось всего ничего.
Так речь не о кларионе как таковом.
Какой породы была собака?(
Clarion 11-12
Добавлено: 03 Март 2026, 15:39
Губин Игорь
PavelNK писал(а): 03 Март 2026, 15:26
Какой породы была собака?(
Я и слов таких не знаю, которые он употребляет. Я представляю чем он в каждый конкретный момент занимается, но в детали, даже, не суюсь. Насколько я в курсе, сейчас они разрабатывают какой-то VPN корпоративного класса.
Clarion 11-12
Добавлено: 10 Март 2026, 21:40
finsoftrz
Столкнулся с эффектом, когда среда С12 после генерации перестала вызывать компиляцию. То есть, изменяем что-то в словаре, запускаем сборку всего проекта, генерация сырцов происходит, а компиляция начинается и сразу заканчивается с сообщением об успехе. Открываешь отдельный app, запускаешь его сборку, генерация сырцов не происходит (они уже в актуальном состоянии), выполняется компиляция, как обычно. Причем так только на самом большом проекте, остальные собираются нормально, генерация, следом компиляция. Началось это недавно, после чего, так и не понял, как будто после добавления каких-то полей в словаре.
Clarion 11-12
Добавлено: 15 Март 2026, 11:59
finsoftrz
Починилось после удаления солюшена и повторное ручное его создание из app. У народа такое, как я понял из clarionhub, тоже встречалось, чинили аналогично. Меня вначале смутило, что аналогично вели себя и вспомогательные солюшены для того же проекта. Почему ломается, хз.
Первый раз такое случилось, но ситуация неприятная. Если не заметить, то может привести к рассогласованию глобальных структур в dll и проблемам на стороне клиента. В сырцах все норм, а dll не пересобралась.
Clarion 11-12
Добавлено: 15 Март 2026, 12:30
Игорь Столяров
finsoftrz писал(а): 15 Март 2026, 11:59
Если не заметить
У мя ещё со времён CPD 2.1 в папке каждого проекта есть командный файл _CRACK.BAT (но идея не моя).
Он удаляет из проекта вообще все производные файлы CLW/INC/BAK/AP~/CACHE и т.д., а также папки MAP / OBJ.
После этого проекту ничего не остаётся, кроме как пройти полную регенерацию при сборке. Бывает полезно !

Clarion 11-12
Добавлено: 15 Март 2026, 14:38
finsoftrz
Потребности все почистить никогда не возникало, кроме перехода со среды С6 на среду С11.
После изменений в словаре перегенерятся только clw с декларациями (для тех app, которые используют измененные структуры в словаре) и по мелочам. Генератор кода в С11-С12 справляется с этой задачей (оптимизация генерации кода) гораздо лучше, чем в С6.
Clarion 11-12
Добавлено: 15 Март 2026, 14:50
Губин Игорь
finsoftrz писал(а): 15 Март 2026, 14:38
Потребности все почистить никогда не возникало, кроме перехода со среды С6 на среду С11.
Периодически требуется, когда перегенерация вызвана не правками в коде, а переключениями в шаблонах. Для этого в шаблоны вставляется вызов соответствующих батников для очистки.
Clarion 11-12
Добавлено: 15 Март 2026, 15:10
finsoftrz
Возможно, от шаблонов зависит. У меня изменения без очистки отрабатывают. Бывает, какая-нибудь невразумительная ошибка при открытии очередного app в поточной сборке, приходится перезапускать среду и открывать app вручную.
Clarion 11-12
Добавлено: 15 Март 2026, 17:58
Игорь Столяров
finsoftrz писал(а): 15 Март 2026, 15:10
какая-нибудь невразумительная ошибка
Бывают непонятные ситуации, когда проще и быстрее сразу сделать "давайте все выйдем и снова зайдём",
чем разбираться с причинами ... т.к. всё равно потом к этому сводится.

Clarion 11-12
Добавлено: 15 Март 2026, 18:54
finsoftrz
У меня попроще, нет ABC классов и соответствующих шаблонов. Линейная логика.
Периодически у среды сносит голову. Может быть при открытии app или при запуске сборки. Сообщения неадекватные. Лечится путем перезапуска среды. Было пару раз, когда портился список модулей в проектном файле, это мы уже обсуждали. Привыкли уже, лучше не будет, работаем с тем, что есть.
Clarion 11-12
Добавлено: 15 Март 2026, 19:21
Игорь Столяров
finsoftrz писал(а): 15 Март 2026, 18:54
нет ABC классов и соответствующих шаблонов
Со штатными ABC шаблонами и классами проблем нет - т.к. они собственно и не изменяются.
Другое дело свои классы, субклассинг, вставки фрагментов текста на этапе компиляции ...
там иногда сам чёрт лапу сломит разобраться, откуда что и почему взялось.
И, кстати, компилятор и линкер стали в C12 хуже чем в С6.3 (хотя может быть и быстрее).
Особенно это касается строгого контроля прототипов функций в классах и разных DLL проекта.
Например, он вполне "логично" пропускает, что тип данных *Queue и Queue - это одно и то же.
Но вот только, когда это заменяется на *Group и Group - это уже совсем не одно и то же.

Clarion 11-12
Добавлено: 15 Март 2026, 21:24
finsoftrz
В ABC логика размазана по методам и свойствам классов, очень сложно для понимания. Чаще классы используют как черный ящик, не вникая во внутреннюю организацию. Но в ABC используется механизм виртуальных методов, требующий понимания, где какой код обрабатывается.
На мои предпочтения, самая оптимальная схема это использовать процедурные шаблоны без ABC и максимально убирать код внутрь простых ненаследуемых (по возможности) классов. Мы все учились понемногу, поэтому во времена популярности процедурных шаблонов многие размещали в точках вставки линейный код. Переделывать уже нет смысла. Кода получается гораздо больше, но минимизация его уже не особо принципиальна при нынешних доступных ресурсах. Зато линейный код работает заметно шустрее объектного.
Вставки кода на этапе генерации надо заключать в комментарии. Я обычно пишу, что данный код размещен таким-то шаблоном и делает тот-то.
А уж свои классы как напишешь. С сабклассингом уже разобрались, там, в общем, вставляется просто инициализация класса после открытия окна и все. Обработка вся внутри класса.
Принципиальной разницы по скорости компиляции между С6 и С12 я не замечаю, плюс-минус. Значительный (на порядок) прирост скорости на этапе генерации кода. Заметно это тогда, когда активно используются темплейты.
Ошибки были всегда, но во времена С6 они фиксились и функционал доводился до кондиции. Позже, если добавлялся какой-то функционал, то он тестировался гораздо меньшим числом людей. Если что-то сразу не заметили, позже уже никто ничего не делал, недоработки остаются висеть и дальше, люди ищут пути, как их обойти без участия SV.