|
5 / 5 / 0
Регистрация: 09.08.2011
Сообщений: 12
|
|
Постепенное увеличение занимаемой оперативной памяти и сбой программы09.08.2011, 17:03. Показов 1838. Ответов 1
Метки нет (Все метки)
Программа содержит 4 формы, которые создаются при первом запуске приложения, и работает с текстовыми (AnsiString) и числовыми (int и double) данными. В качестве полей ввода используются TLabeledEdit и InputBox(...). Создаются несколько TStringList (всего 6 в разных местах программы). В некоторые из них информация загружается из текстовых файлов специальной структуры: одна строка в файле - одна запись. В них же хранится (добавляется) информация, вводимая пользователем. После корректного ввода данных содержание этих TStringList сохраняются в том же текстовом файле.
При первоначальном запуске в Windows Task Manager я наблюдаю размер 24Mb. После завершения ввода пользователем, обработки введенных данных и их сохранения этот размер увеличивается. Пользователь за один цикл вводит 10-15 строк. После 5-6 циклов ввода программа занимает порядка 194-196Mb (по информации Windows Task Manager) и начинается сбой: вначале пропадают осмысленные надписи на компонентах и в текстовых метках (заменяются моими кодами ошибки чтения текста из ресурса dll), а в конечном итоге программа дает сбой. Проверил корректность работы пары new/delete для всех создаваемых TStringList - вроде бы все правила соблюдены. Где может быть такая "утечка" или, точнее, "накачка" занимаемой оперативной памяти? Я - не профессиональный программист, поэтому прошу прощения за возможно некорректную терминологию. Компилятор CodeGear RAD Studio 2009.
0
|
|
| 09.08.2011, 17:03 | |
|
Ответы с готовыми решениями:
1
Накапливается объем занимаемой оперативной памяти Подсчитать количество оперативной памяти, занимаемой программой Уменьшение объема занимаемой оперативной памяти приложения |
|
5 / 5 / 0
Регистрация: 09.08.2011
Сообщений: 12
|
|
| 11.08.2011, 04:50 [ТС] | |
|
Вопрос решился банально просто, как в том анекдоте: "Ребята, учите матчасть!"
Если кому интересно: я всякий раз, вызывая строку из ресурса (DLL), создавал HINSTANCE библиотеки- вот тебе и "накачка". Бедный комп, как он еще выдерживал такое издевательство над его ОЗУ? Спасибо большое MikeSoft за его статьи о DLL: он "освежил" мои "познания"... Жаль, что только один раз можно плюсик поставить, я бы еще несколько раз на него нажал в знак благодарности MikeSoft. Уважаемые администраторы Форума! Я впервые участвую в вашем форуме (и на форумах вообще) и не знаю, как закрыть эту тему. Пожалуйста, помогите и снимите мой вопрос с обсуждения. Заранее благодарю.
0
|
|
| 11.08.2011, 04:50 | |
|
Помогаю со студенческими работами здесь
2
Ограничить количество занимаемой оперативной памяти при выполнении функции
Увеличение оперативной памяти Увеличение оперативной памяти Увеличение объёма оперативной памяти Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3.
Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|