Переполнение памяти при редактировании окна
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Переполнение памяти при редактировании окна
Здравствуйте!
Вопрос такой. Есть довольно насыщенный экран с несколькими закладками. С некоторого момента при попытке включения нового объекта (например, чека) появляется сообщение Out of Memory (heap overflow) и Clarion аварийно закрывается. Можно ли что-то сделать с настройками например, чтобы расширить возможности по насыщению окна объектами. Есть для этого какие-то настройки Clariona или Windows? Разбивать экран на несколько не хотелось бы, да и неудобно. Спасибо.
Вопрос такой. Есть довольно насыщенный экран с несколькими закладками. С некоторого момента при попытке включения нового объекта (например, чека) появляется сообщение 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К.
Алексей
Попробуйте в project properties
убрать full моду отладчика и поиграть стеком, по умолчанию там 32К.
Алексей
-
- ✯ Ветеран ✯
- Сообщения: 5161
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Re: Переполнение памяти при редактировании окна
Это либо Винда, либо версия Клаши кривая. Напишите конфигурацию стенда, плиз. И ещё попробуйте не в дизайнере, а в описании окна ручками ввести контрол. Что будет?
We are hard at work… for you. 

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

Make Clarion Great Again ! 
Re: Переполнение памяти при редактировании окна
Сократил имена всех меток. Всё получилось. Так что думаю запас еще будет, т.к. окно предназначено для задания параметров поиска и постоянно насыщается новыми параметрами. Всем еще раз спасибо!
- Admin
- Администратор
- Сообщения: 4010
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 53 раза
- Поблагодарили: 33 раза
- Контактная информация:
Re: Переполнение памяти при редактировании окна
А можно показать исходник окна поиска... для интереса
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- Губин Игорь
- Шубуршун
- Сообщения: 2584
- Зарегистрирован: 16 Сентябрь 2005, 16:35
- Откуда: Москва
- Благодарил (а): 3 раза
- Поблагодарили: 26 раз
Re: Переполнение памяти при редактировании окна
Была задача сделать окно "для задания параметров поиска". Около 200 позиций, к каждой позиции до десятка параметров.slav95211 писал(а):Сократил имена всех меток. Всё получилось. Так что думаю запас еще будет, т.к. окно предназначено для задания параметров поиска и постоянно насыщается новыми параметрами. Всем еще раз спасибо!
Решилось переводом позиций в LIST и маской для отображения в нужных местах нужных полей для ввода и сокрытия ненужных. Когда пользователь нажимает кнопочку "внести", то значения экранных полей переносятся в массив параметров для конкретной позиции.
Теперь нет никаких проблем с количеством позиций - могу наращивать сколько угодно, т.к. фактически на самом экране всего полсотни контролов.
Может и тут можно использовать аналогичный подход?
Это я только кажусь дураком! На самом деле я полный идиот!
Re: Переполнение памяти при редактировании окна
(Продолжая мысль Игоря) Вот уж что-что, а чеки как раз очень вписываются в один единственный контрол List. Убирайте их все к чёртовой бабушке. И закладки расчистятся, и юзер не будет глазами лихорадочно шастать по экрану в поисках нужной. И управлять (создавать/отображать) ими сможете на уровне БД, не трогая каждый раз интерфейс.slav95211 писал(а):Здравствуйте!
Вопрос такой. Есть довольно насыщенный экран с несколькими закладками. С некоторого момента при попытке включения нового объекта (например, чека) появляется сообщение Out of Memory (heap overflow) и Clarion аварийно закрывается. Можно ли что-то сделать с настройками например, чтобы расширить возможности по насыщению окна объектами. Есть для этого какие-то настройки Clariona или Windows? Разбивать экран на несколько не хотелось бы, да и неудобно. Спасибо.
...Помнится на прежней работе у меня так и было. Как раз когда экран перестал помещать все необходимые контролы, я, укоротив имена меток, из последних ресурсов создал лист-контрол. И все следующие чеки уже создавал в нем.
Re: Переполнение памяти при редактировании окна
(Пусть будет отдельной репликой, а то вдруг спорить из-за этого начнём!
). Вот ещё какая мысль пришла. Если у вас не хватает ресурсов под создание нового контрола в окне, надо сильно задуматься над эргономикой и дизайном окна, возможно проконсультироваться у дизайнера пользовательских интерфейсов. Скорее всего, что у вас что-то сделано не так.

- Дед Пахом
- Старичок
- Сообщения: 3289
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 15 раз
- Поблагодарили: 49 раз
- Контактная информация:
Re: Переполнение памяти при редактировании окна
Не факт. Допустим, на окне 300 Tab-ов, на каждом Tab-е с пяток контролов, только один Tab доступен. С точки зрения юзера и дизайнера всё зашибись.Shur писал(а):Если у вас не хватает ресурсов под создание нового контрола в окне, надо сильно задуматься над эргономикой и дизайном окна, возможно проконсультироваться у дизайнера пользовательских интерфейсов. Скорее всего, что у вас что-то сделано не так.
С уважением, ДП
- Губин Игорь
- Шубуршун
- Сообщения: 2584
- Зарегистрирован: 16 Сентябрь 2005, 16:35
- Откуда: Москва
- Благодарил (а): 3 раза
- Поблагодарили: 26 раз
Re: Переполнение памяти при редактировании окна
Тогда НЕ ЗАШИБИСЬ с точки зрения программирования. Ясно же, что 300 табов это перебор.
Значит надо как-то оптимизировать это окно. Ведь даже 100 табов одновременно на экране не поместятся!
Я как-то проводил исследование (правда ещё на CW2) - простое присвоение {PROP:Text} в окне из 150 контролов занимало полторы секунды.
Значит надо как-то оптимизировать это окно. Ведь даже 100 табов одновременно на экране не поместятся!
Я как-то проводил исследование (правда ещё на CW2) - простое присвоение {PROP:Text} в окне из 150 контролов занимало полторы секунды.
Это я только кажусь дураком! На самом деле я полный идиот!
Re: Переполнение памяти при редактировании окна
