Философский вопрос.
Есть класс EnhancedFocusClassType. В частности отрабатывает визуальные эффекты. На листе с прозрачностью получили вот такой эффект:
Внутри класса есть только вызов примитива BOX. Проблема сидит именно внутри этой процедуры. Вызов один, рисует два прямоугольника. Функция LINE тоже отрабатывает двумя линиями. Стало интересно разобраться. Заменил ВОХ/BLANK на Create/Destroy, такого эффекта нет, и в тестах вроде всё работает как надо.
Что думает народ? Почему используются функции-примитивы? С Create/Destroy на что-то можно налететь?
Create vs Примитивы.
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4615
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 6 раз
- Поблагодарили: 37 раз
Create vs Примитивы.
Я пробовал оба варианта. Create/Destroy работает существенно медленнее, но заметно это на большом количестве объектов. В частности, в дизайнере печатных форм сложные бланки могут открываться на экране порядка 10 сек, а через примитивы подобный бланк открывается без задержек. Я как-то уже писал, что тема кларионовских графических функций недооценена, с их помощью можно много чего сделать в плане интерфейса. Это проще, чем через win api, т.к. графические примитивы интегрированы в оконную систему клариона. В общем, от задачи зависит.
C6/C11, ШВС, tps/btrieve.
Create vs Примитивы.
Я рисую через Create, надо только не забывать указывать window{Prop:Buffer} = 1, этот параметр радикально ускоряет отрисовку. Возможно, остальные факторы и неважны.
Можно познакомиться и с Prop:LazyDisplay и Prop:DeferMove - вдруг какую пользу приносят.
Можно познакомиться и с Prop:LazyDisplay и Prop:DeferMove - вдруг какую пользу приносят.