Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
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
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.08.2011, 17:03
Ответы с готовыми решениями:

Накапливается объем занимаемой оперативной памяти
Писали ПО с адекватным интерфейсом для терминала, в ходе работы выяснилось что с каждым переходом по Page память растет, следовательно в...

Подсчитать количество оперативной памяти, занимаемой программой
Подскажите, пожалуйста!!!!! Существует ли программный код подсчёта оперативной памяти занимаемой разработанной программой. Если...

Уменьшение объема занимаемой оперативной памяти приложения
Друзья,недавно столкнулся с проблемой нехватки оперативной памяти приложению(огромному) одна вкладка которого весила почти 40мб и их могло...

1
5 / 5 / 0
Регистрация: 09.08.2011
Сообщений: 12
11.08.2011, 04:50  [ТС]
Вопрос решился банально просто, как в том анекдоте: "Ребята, учите матчасть!"
Если кому интересно: я всякий раз, вызывая строку из ресурса (DLL), создавал HINSTANCE библиотеки- вот тебе и "накачка". Бедный комп, как он еще выдерживал такое издевательство над его ОЗУ?
Спасибо большое MikeSoft за его статьи о DLL: он "освежил" мои "познания"... Жаль, что только один раз можно плюсик поставить, я бы еще несколько раз на него нажал в знак благодарности MikeSoft.
Уважаемые администраторы Форума! Я впервые участвую в вашем форуме (и на форумах вообще) и не знаю, как закрыть эту тему. Пожалуйста, помогите и снимите мой вопрос с обсуждения.
Заранее благодарю.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.08.2011, 04:50
Помогаю со студенческими работами здесь

Ограничить количество занимаемой оперативной памяти при выполнении функции
Функция производит запись в файл (.txt) рассчитываемых значения. Обьем расчетов достаточно большой занимает порядка 10 мин (выходной файл...

Увеличение объемов занимаемой памяти и "сборка мусора"
Каждый раз после открытия и закрытия формы занимаемая память в "управляемой куче" увеличивается на 2 мб и размер может доходить до 200...

Увеличение оперативной памяти
Добрый день! Хочу увеличить ОЗУ в ноутбуке с 8Gb до 16gb. Две планки уже стоят, хочу поставить еще две, помогите с выбором, поговаривают не...

Увеличение оперативной памяти
У меня процессор Intel pentium n3540 Посмотрел по характеристикам сказано можно поставить макс 8гб DDR3L НО я нигде в городе не нашел...

Увеличение объёма оперативной памяти
Всем привет, имеется компьютер Sony Vaio SVE171A11V, хотелось бы увеличить объём оперативной памяти на нём (на данный момент 4 ГБ), как я...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
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, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru