Не, ну могу либу прислать (dll) и файл деклараций процедур к ней. Но вряд ли захотите ковыряться. В с6 идентичный код работает без вопросов, он был оттуда и перенесен. Копирование процедуры один в один в первую dll также снимает проблему. Это 100% проблема в билде клариона.Игорь Столяров писал(а): ↑08 Август 2021, 14:38 Скорее всего вопрос решиться у Вас уже на этапе формирования такого примера ...
Clarion 11-12
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4561
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 6 раз
- Поблагодарили: 34 раза
Clarion 11-12
C6/C11, ШВС, tps/btrieve.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7329
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Clarion 11-12
Не могу утвеждать - т.к. не помню. Вы используете релиз февраля 2020 г.
Таки да - в релизах бывают проблемы, которые потом устраняют.
А в чём смысл заявки о проблеме в релизе полутора-годовой давности ?
Сейчас работаем на крайнем релизе C11.1.0.13758
До этого был вполне стабильный релиз C11.0.13630
За теми кто отстал - не возвращаться. (С) Кодекс
- Игорь Столяров
- Ветеран движения
- Сообщения: 7329
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Clarion 11-12
Всё может быть. Мне самому бывает обидно, когда в C63 всё работает как часы, а в С11 становится колом.
Надо принять 2 вещи:
1. C11(.1) - это не С63. И никто не будет обеспечивать 100 % совместимость (хотя она есть и неплохая).
2. На все наши проблемы - SV чихать. У них свой путь, мы можем либо забить на C11(.1), либо приспосабливаться к тому что есть.
За теми кто отстал - не возвращаться. (С) Кодекс
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4561
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 6 раз
- Поблагодарили: 34 раза
Clarion 11-12
Классика всегда в цене. Вам же не придет в голову называть черный смокинг убогим, а пестрый костюм клоуна верхом современной моды. Я наблюдаю на примере веба разные интерфейсы, от большинства из них за версту несет безвкусицей.Игорь Столяров писал(а): ↑08 Август 2021, 14:31Это очень обидная тема. Дело в том, что оформительские возможности Clarion исторически убоги.SergioRaguzini писал(а): ↑08 Август 2021, 12:49 не плохой реализацией современного интерфейса выполненного средствами Clarion
И далее каждый решает эти вопросы в меру возможностей и готов за свою точку зрения загрызть оппонента.
Но есть три основных направления:
1. Как деды учили. Здесь утверждается, что оформление программ - это вообще суета, главное функционал.
Из плюсов - классическая тема оформления одинаково убога везде, а это и есть стабильность !
Сюда же нужно отнести и использование перечисленных Вами прибамбасов сторонних разработчиков -
правда ими пользовались (и они выпускались) 15 лет назад.
2. Как SV придумал (это мы). Просто включаем штатный манифест и молимся, что бы всё всегда работало.
В общем-то красиво. Из минусов - последовательно отгребаем все проблемы попо-рукных программистов SV.
3. Сам себе дизайнер. Разработка своего уникального интерфейса, в т.ч. и через Windows API. Бывает круто.
Но обычно всё заканчивается на перекраске окон и навешивании графики. Всё блымает и это реально бесит.
Из минусов - нужно тестировать под всеми Windows и темами - однако трудоёмко для хорошего результата.
Проблема у клариона в том, что сейчас SV плохо тестирует то, что делает. Можно сказать, вообще не тестирует. Сделал программист что-то, это заработало у него на компьютере, вывалили нам. Мы теряем время, пишем о багах. Что-то, если получилось по быстрому или уж совсем никак без исправления, исправляют, под остальное сами подстраивайтесь.
Если подложить к приложению на С6 манифест, то часть интерфейса становится, как в с11. Кнопки, чеки, радио, меню. Прорисовка полей ввода остается. Похожую прорисовку полей ввода, как в С11, и в С6 много лет назад делали. Несколько вариантов закладок, возможность их раскрашивать и размещать пиктограммы в С11. Трутайп шрифты вроде уже не актуальны. Шрифт сегое вместо ширифа подставить можно и в С6, только теряется совместимость со "старыми" мониторам менее 21 дюйма. Добавили png, оказалось, что давным давно подобное решение и в С6 было.
В чем еще заключается "красивость"?
C6/C11, ШВС, tps/btrieve.
-
- ✯ Ветеран ✯
- Сообщения: 4960
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 6 раз
- Поблагодарили: 19 раз
Clarion 11-12
Код: Выделить всё
zn# = popup('Пункт1|Пункт2',fFeqX#+fFeqW#/2,fFeqY#+fFeqH#/2,1)
We are hard at work… for you.
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4561
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 6 раз
- Поблагодарили: 34 раза
Clarion 11-12
Обновился до 13630, проблема осталась.Игорь Столяров писал(а): ↑08 Август 2021, 14:49Не могу утвеждать - т.к. не помню. Вы используете релиз февраля 2020 г.
Таки да - в релизах бывают проблемы, которые потом устраняют.
А в чём смысл заявки о проблеме в релизе полутора-годовой давности ?
Сейчас работаем на крайнем релизе C11.1.0.13758
До этого был вполне стабильный релиз C11.0.13630
C6/C11, ШВС, tps/btrieve.
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4561
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 6 раз
- Поблагодарили: 34 раза
Clarion 11-12
Пробовал, не помогает. Еще раз, та же самая процедура, один в один, размещенная в той же dll, откуда вызываем, работает корректно.kreator писал(а): ↑08 Август 2021, 15:10Поставьте последним параметром 0. И скорее всего будет Вам счастье.Код: Выделить всё
zn# = popup('Пункт1|Пункт2',fFeqX#+fFeqW#/2,fFeqY#+fFeqH#/2,1)
C6/C11, ШВС, tps/btrieve.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7329
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Clarion 11-12
Я обычно вывожу проблему из натруженного годами кода ...
Вы же юзаете In-Memory ? Там есть штатный пример Multi-DLL.
Попробуйте добавить в любой список кнопку, а в data.app - Вашу процедуру с popup().
И если не заработает - архивируйте папку и сбрасывайте в TEMP FTP - удивимся вместе.
За теми кто отстал - не возвращаться. (С) Кодекс
-
- ✯ Ветеран ✯
- Сообщения: 4960
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 6 раз
- Поблагодарили: 19 раз
Clarion 11-12
Посмотрите 1С в версии "Такси". Я по-моему приводил ссылки. Они подвели целую теоретическую базу под это, исследование какого-то итальянца привели. Я считаю, что всё очень неплохо.SergioRaguzini писал(а): ↑08 Август 2021, 12:49 Коллеги, поделитесь примером (скрином или ссылкой на свою или некую стороннюю программу), которая на сегодняшней день является, на ваш взгляд, не плохой реализацией современного интерфейса выполненного средствами Clarion.
We are hard at work… for you.
-
- ✯ Ветеран ✯
- Сообщения: 4960
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 6 раз
- Поблагодарили: 19 раз
Clarion 11-12
Класс PopupClass так и устроен. Вызов функции popup из другой dll.
We are hard at work… for you.
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4561
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 6 раз
- Поблагодарили: 34 раза
Clarion 11-12
Не юзаю, но пример могу собрать. Там это работает корректно. Сама процедура и ее экспорт идентичны. Но вызов из виртуальной процедуры и перед ним вызовы других методов абц классов. Я смотрю у себя чистый код. Значит, что-то внутри абц классов дополнительно происходит, костыль стоит. Копаться и разбираться внутри абц классов не очень охота.Игорь Столяров писал(а): ↑08 Август 2021, 15:33Я обычно вывожу проблему из натруженного годами кода ...
Вы же юзаете In-Memory ? Там есть штатный пример Multi-DLL.
Попробуйте добавить в любой список кнопку, а в data.app - Вашу процедуру с popup().
И если не заработает - архивируйте папку и сбрасывайте в TEMP FTP - удивимся вместе.
Вот видосик, демонстрирующий проблему.
http://finsoftrz.ru/mp4_tmp/popup_bug.mp4
C6/C11, ШВС, tps/btrieve.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7329
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Clarion 11-12
Вы не смотрите чистый код ... Код работает внутри проекта.
Сразу возникает вопрос об опциях сборки проекта - поэтому и хотелось увидеть небольшой пример без наворотов.
Но в таком примере (как и предпологалось) у Вас всё работает. Значит либо что-то не так со сборкой проекта или
откуда-то на компьютере цепляется другой DLL. ABC классы здесь точно не при чём.
Возможно также к DLL и программе прилинкованы отдельные копии RunTime. Или что-то ещё.
Вы понимаете разницу в проблеме релиза C11 и проблемой конкретного проекта, которую нельзя воспроизвести
(и приходится показывать на видео) ?
За теми кто отстал - не возвращаться. (С) Кодекс
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4561
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 6 раз
- Поблагодарили: 34 раза
Clarion 11-12
После обновления версии клариона до C11.0.13630 и код прямо под кнопкой стал себя вести аналогично. Вернул на 13505, код под кнопкой заработал.
Есть гипотеза, что SV вносит в рантайм изменения для anyscreen, и делает какие-то переназначения в функциях. У меня нет уверенности, что в абц версии и у меня без абц вообще одна и та же функция popup из rtl вызывается. В общем, похоже, подтверждаются опасения, что рантайм начнет терять обратную совместимость из-за изменений в сторону anyscreen.
Хороший вопрос, а нам что делать?
Сама среда, несмотря на многочисленные баги, имеет ряд плюсов по сравнению с С6.
Code complete и всплывающие подсказки в редакторе хорошая штука, реально экономит время.
Меньшая модальность среды. Можно прямо из списка эмбедов процедуры запускать сборку.
Сборка заметно быстрее, чем в С6. Правда, на больших проектах надо проверять. Я отменял всю пересборку, когда добавлялись, например, поля в словаре. Перегенерируются только файлы с декларациями и одна app, которая подвязана на словарь (собирает информацию оттуда). Насколько продвинуты в этом плане солюшены, фик знает.
Солюшены достаточно удобны, не требуется внешний менеджер компиляции.
В целом, я думаю, что производительность разработки на С11 должна быть выше.
Улучшения в интерфейсе в С11 тоже бы пригодились. Но если они продолжат разваливать рантайм, может есть смысл оставаться на хорошо обкатанном С6. Или взять среду от С11 и использовать совместно с компилятором от С6.
Есть гипотеза, что SV вносит в рантайм изменения для anyscreen, и делает какие-то переназначения в функциях. У меня нет уверенности, что в абц версии и у меня без абц вообще одна и та же функция popup из rtl вызывается. В общем, похоже, подтверждаются опасения, что рантайм начнет терять обратную совместимость из-за изменений в сторону anyscreen.
Хороший вопрос, а нам что делать?
Сама среда, несмотря на многочисленные баги, имеет ряд плюсов по сравнению с С6.
Code complete и всплывающие подсказки в редакторе хорошая штука, реально экономит время.
Меньшая модальность среды. Можно прямо из списка эмбедов процедуры запускать сборку.
Сборка заметно быстрее, чем в С6. Правда, на больших проектах надо проверять. Я отменял всю пересборку, когда добавлялись, например, поля в словаре. Перегенерируются только файлы с декларациями и одна app, которая подвязана на словарь (собирает информацию оттуда). Насколько продвинуты в этом плане солюшены, фик знает.
Солюшены достаточно удобны, не требуется внешний менеджер компиляции.
В целом, я думаю, что производительность разработки на С11 должна быть выше.
Улучшения в интерфейсе в С11 тоже бы пригодились. Но если они продолжат разваливать рантайм, может есть смысл оставаться на хорошо обкатанном С6. Или взять среду от С11 и использовать совместно с компилятором от С6.
C6/C11, ШВС, tps/btrieve.
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4561
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 6 раз
- Поблагодарили: 34 раза
Clarion 11-12
Увы, это не проблема конкретного проекта. Как я написал в предыдущем посте, после обновления версии клариона перестал корректно работать даже код под кнопкой. Это проблема связана, судя по всему, с подменой вызовов функций в rtl.Игорь Столяров писал(а): ↑08 Август 2021, 17:35 Вы понимаете разницу в проблеме релиза C11 и проблемой конкретного проекта, которую нельзя воспроизвести
(и приходится показывать на видео) ?
C6/C11, ШВС, tps/btrieve.
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4561
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 6 раз
- Поблагодарили: 34 раза
Clarion 11-12
В общем, нашел причину.
В builtins.clw заменил у popup NAME('RisNet:Popup') на NAME('Cla$POPUP') и все заработало корректно.
В builtins.clw заменил у popup NAME('RisNet:Popup') на NAME('Cla$POPUP') и все заработало корректно.
C6/C11, ШВС, tps/btrieve.