Сравнение файлов
Проблема ПИРПервое решениеОписаниеПроектДетализация
Что изменено:Как изменено:
103.6232NEWInternal Error 1. Ошибка выделения динамической памяти при сравнении бюджетовУправление бюджетамиРедактирование бюджета в целом
При загрузке в интерфейс "Редактирование бюджета" (РБ) данных по слишком большой "Типовой формы" (ТФ), возникает ошибка выделения памяти. Конкретно, речь идет о превышении 2ГБ используемой приложением памяти. В этом случае, приложение аварийно завершается, иногда выдавая системное Windows-сообщение (а иногда и без сообщения). Такое поведение крайне не дружелюбно по отношению к пользователю. К тому же нет ни какой информации, о том в чем проблема и как ее решить.РЕШЕНИЕ: В рамках решения проблемы, было сделано следующее: При загрузке данных в интерфейс "Редактирование бюджета" (РБ), происходит контроль за выделением памяти. При попытке выделения "критического объема памяти" для интерфейса РБ, выдается сообщение о существовании вероятности аварийного завершении программы. Также задается вопрос пользователю о принятии решения прервать загрузку данных: 1. Если пользователь решает прервать загрузку, то выдается сообщение с описанием ситуации и рекомендациями. 2. Если пользователь решает НЕ прерывать загрузку, то загрузка данных продолжается, и больше предупреждений не выдается. В этом случае возможна ситуация аварийного завершения программы Данная доработка контролирует не все варианты выделения памяти при работе с РБ. По прежнему, иногда могут возникать ситуации выделения памяти, приводящие к аварийному завершению работы приложения! По умолчанию "критический объем памяти" для интерфейса РБ = 1 000 000 000 byte. Это значение можно переопределять с помощью параметров приложения (в GalNet.cfg): группа - "FpLimitMemory" (группа указывается в фигурных скобках), параметр "MultiAgr". Например: {FpLimitMemory} MultiAgr=2000000000 Максимально допустимое значение этого параметра = 2 147 483 647 byte. Кроме РБ, эта же доработка будет действовать и для работы интерфейса "Управление бюджетом | Операции | Пересчет бюджетов". ИНФОРМАЦИЯ: Галактика, как и все 32-х разрядные приложения, может использовать максимум 2ГБ памяти. РЕКОМЕНДАЦИИ: 1. по построению бюджетов - РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ "Управление бюджетом" (глава "8.2. ПОСТРОЕНИЕ ТИПОВОЙ ФОРМЫ"). 2. по настройке системы в целом - "Приложение к инструкции по установке: "Примеры аппаратной конфигурации при развертывании системы"" (глава "3. ОСОБЕННОСТИ РАБОТЫ С РЕСУРСОЕМКИМИ РЕЖИМАМИ").