Переполнение памяти при редактировании окна

Clarion, Clarion 7

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

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
slav95211
Новичок
Сообщения: 8
Зарегистрирован: 10 Август 2012, 15:27

Переполнение памяти при редактировании окна

Сообщение slav95211 »

Здравствуйте!
Вопрос такой. Есть довольно насыщенный экран с несколькими закладками. С некоторого момента при попытке включения нового объекта (например, чека) появляется сообщение Out of Memory (heap overflow) и Clarion аварийно закрывается. Можно ли что-то сделать с настройками например, чтобы расширить возможности по насыщению окна объектами. Есть для этого какие-то настройки Clariona или Windows? Разбивать экран на несколько не хотелось бы, да и неудобно. Спасибо.
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3289
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 15 раз
Поблагодарили: 49 раз
Контактная информация:

Re: Переполнение памяти при редактировании окна

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

Настроек таких вроде нет. Можно уменьшить объём памяти, укоротив USE-переменные, например было USE(?Button1), стало USE(?b1)
С уважением, ДП
Алексей- Софт-Центр
Ветеран
Сообщения: 390
Зарегистрирован: 26 Август 2009, 12:41
Откуда: Moscow
Контактная информация:

Re: Переполнение памяти при редактировании окна

Сообщение Алексей- Софт-Центр »

Добрый день!
Попробуйте в project properties
убрать full моду отладчика и поиграть стеком, по умолчанию там 32К.

Алексей
kreator
✯ Ветеран ✯
Сообщения: 5161
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

Re: Переполнение памяти при редактировании окна

Сообщение kreator »

Это либо Винда, либо версия Клаши кривая. Напишите конфигурацию стенда, плиз. И ещё попробуйте не в дизайнере, а в описании окна ручками ввести контрол. Что будет?
We are hard at work… for you. :)
slav95211
Новичок
Сообщения: 8
Зарегистрирован: 10 Август 2012, 15:27

Re: Переполнение памяти при редактировании окна

Сообщение slav95211 »

Всем спасибо! Пока иду по пути сокращения имен меток. ПОсмотрю что будет. Результат отпишу.
Shur
Ветеран
Сообщения: 384
Зарегистрирован: 02 Июль 2011, 18:49

Re: Переполнение памяти при редактировании окна

Сообщение Shur »

Выхода два или 2 с половиной.
1. Перейти на C8 (там можно создавать экран более 32K)
2. Сократить по возможности имена меток (Дед писал уже)
2½. Какие-то из контролов создавать динамически при помощи CREATE, но не в структуре WINDOW.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8031
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

Re: Переполнение памяти при редактировании окна

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

Была такая же беда, но с отчетом. Выловил, что рушится при добавлении нового элемента.
Вывел все линии в отдельный блок (их особо было много) и переписал их добавление в отчет через CREATE.
Работает уже года 3 без проблем ... :)
Make Clarion Great Again ! 😎
slav95211
Новичок
Сообщения: 8
Зарегистрирован: 10 Август 2012, 15:27

Re: Переполнение памяти при редактировании окна

Сообщение slav95211 »

Сократил имена всех меток. Всё получилось. Так что думаю запас еще будет, т.к. окно предназначено для задания параметров поиска и постоянно насыщается новыми параметрами. Всем еще раз спасибо!
Аватара пользователя
Admin
Администратор
Сообщения: 4010
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 53 раза
Поблагодарили: 33 раза
Контактная информация:

Re: Переполнение памяти при редактировании окна

Сообщение Admin »

А можно показать исходник окна поиска... для интереса
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
Губин Игорь
Шубуршун
Сообщения: 2584
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Благодарил (а): 3 раза
Поблагодарили: 26 раз

Re: Переполнение памяти при редактировании окна

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

slav95211 писал(а):Сократил имена всех меток. Всё получилось. Так что думаю запас еще будет, т.к. окно предназначено для задания параметров поиска и постоянно насыщается новыми параметрами. Всем еще раз спасибо!
Была задача сделать окно "для задания параметров поиска". Около 200 позиций, к каждой позиции до десятка параметров.
Решилось переводом позиций в LIST и маской для отображения в нужных местах нужных полей для ввода и сокрытия ненужных. Когда пользователь нажимает кнопочку "внести", то значения экранных полей переносятся в массив параметров для конкретной позиции.
Теперь нет никаких проблем с количеством позиций - могу наращивать сколько угодно, т.к. фактически на самом экране всего полсотни контролов.

Может и тут можно использовать аналогичный подход?
Это я только кажусь дураком! На самом деле я полный идиот!
Shur
Ветеран
Сообщения: 384
Зарегистрирован: 02 Июль 2011, 18:49

Re: Переполнение памяти при редактировании окна

Сообщение Shur »

slav95211 писал(а):Здравствуйте!
Вопрос такой. Есть довольно насыщенный экран с несколькими закладками. С некоторого момента при попытке включения нового объекта (например, чека) появляется сообщение Out of Memory (heap overflow) и Clarion аварийно закрывается. Можно ли что-то сделать с настройками например, чтобы расширить возможности по насыщению окна объектами. Есть для этого какие-то настройки Clariona или Windows? Разбивать экран на несколько не хотелось бы, да и неудобно. Спасибо.
(Продолжая мысль Игоря) Вот уж что-что, а чеки как раз очень вписываются в один единственный контрол List. Убирайте их все к чёртовой бабушке. И закладки расчистятся, и юзер не будет глазами лихорадочно шастать по экрану в поисках нужной. И управлять (создавать/отображать) ими сможете на уровне БД, не трогая каждый раз интерфейс.
...Помнится на прежней работе у меня так и было. Как раз когда экран перестал помещать все необходимые контролы, я, укоротив имена меток, из последних ресурсов создал лист-контрол. И все следующие чеки уже создавал в нем.
Shur
Ветеран
Сообщения: 384
Зарегистрирован: 02 Июль 2011, 18:49

Re: Переполнение памяти при редактировании окна

Сообщение Shur »

(Пусть будет отдельной репликой, а то вдруг спорить из-за этого начнём! :lol: ). Вот ещё какая мысль пришла. Если у вас не хватает ресурсов под создание нового контрола в окне, надо сильно задуматься над эргономикой и дизайном окна, возможно проконсультироваться у дизайнера пользовательских интерфейсов. Скорее всего, что у вас что-то сделано не так.
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3289
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 15 раз
Поблагодарили: 49 раз
Контактная информация:

Re: Переполнение памяти при редактировании окна

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

Shur писал(а):Если у вас не хватает ресурсов под создание нового контрола в окне, надо сильно задуматься над эргономикой и дизайном окна, возможно проконсультироваться у дизайнера пользовательских интерфейсов. Скорее всего, что у вас что-то сделано не так.
Не факт. Допустим, на окне 300 Tab-ов, на каждом Tab-е с пяток контролов, только один Tab доступен. С точки зрения юзера и дизайнера всё зашибись.
С уважением, ДП
Аватара пользователя
Губин Игорь
Шубуршун
Сообщения: 2584
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Благодарил (а): 3 раза
Поблагодарили: 26 раз

Re: Переполнение памяти при редактировании окна

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

Тогда НЕ ЗАШИБИСЬ с точки зрения программирования. Ясно же, что 300 табов это перебор.
Значит надо как-то оптимизировать это окно. Ведь даже 100 табов одновременно на экране не поместятся!
Я как-то проводил исследование (правда ещё на CW2) - простое присвоение {PROP:Text} в окне из 150 контролов занимало полторы секунды.
Это я только кажусь дураком! На самом деле я полный идиот!
Shur
Ветеран
Сообщения: 384
Зарегистрирован: 02 Июль 2011, 18:49

Re: Переполнение памяти при редактировании окна

Сообщение Shur »

:lol: Игорь, не принимай близко к сердцу, это Дед стебётся: 300 табов с пятком контролов в каждом -- это примерно то же самое, что и 200 позиций для поиска с 10 параметрами каждая!
Ответить