Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 05.06.2012
Сообщений: 12

C++ Builder 6 увеличивается размер потребляемой памяти

17.06.2012, 20:48. Показов 1829. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Необходимо чтобы в 3 разный Label'ах отображались текущие часы, минуты, секунды. В таймере
C++
1
2
3
 Label1 -> Caption = FormatDateTime("hh",Time());
 Label3 -> Caption = FormatDateTime("nn",Time());
 Label5 -> Caption = FormatDateTime("ss",Time());
Дело в том что программа увеличивается в озу, каждую секунду +2 мб, как этого избежать?
Пробовал присваивать это значение переменым при загрузке, а потом в таймере
C++
1
2
3
4
5
6
7
8
 ts++;
 if (ts > 59) {ts = 0;tm++;}
 if (tm > 59) {tm = 0; th++;}
 if (th > 23) th = 0;
 
 Label1 -> Caption = IntToStr(th);
 Label3 -> Caption = IntToStr(tm);
 Label5 -> Caption = IntToStr(ts);
и именно из-за последних строк опять увеличивается память.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.06.2012, 20:48
Ответы с готовыми решениями:

Как уменьшить размер потребляемой памяти?
Доброго времени суток)не подскажите как уменьшить размер потребляемой памяти приложением? К примеру моя программа вести почти 2...

Большой размер потребляемой оперативной памяти приложением
Собственно, программа простая, простенькое винформ приложение с несколькими элементами, а оперативной памяти жрет 50 Мб. Я то на количество...

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

16
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
17.06.2012, 22:07
C++
1
ts++;
это что и зачем?
0
0 / 0 / 0
Регистрация: 05.06.2012
Сообщений: 12
17.06.2012, 22:11  [ТС]
При загрузке формы в переменную ts присваивается текущая секунда, в tm минуты, th часы.
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
17.06.2012, 22:16
этого:
C++
1
2
3
Label1 -> Caption = FormatDateTime("hh",Time());
 Label3 -> Caption = FormatDateTime("nn",Time());
 Label5 -> Caption = FormatDateTime("ss",Time());
недостаточно, или оно не работает?
Часы делаете? Больше кода нет? Может, в другом месте течёт? Локализовать проблемный код пробовали?
0
0 / 0 / 0
Регистрация: 05.06.2012
Сообщений: 12
17.06.2012, 22:17  [ТС]
Оно работает, и именно из-за этого утекает память. Если убрать эти три строки, все нормально.
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
17.06.2012, 22:36
Такого быть неМогЁт...
Ищите в другом месте...

Динамчески созданные компоненты?
Работа с контекстом устройства?
0
0 / 0 / 0
Регистрация: 05.06.2012
Сообщений: 12
17.06.2012, 22:41  [ТС]
вот скрин
Миниатюры
C++ Builder 6 увеличивается размер потребляемой памяти  
0
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
17.06.2012, 22:42
КАМАЗ, проект выложить можете?
0
0 / 0 / 0
Регистрация: 05.06.2012
Сообщений: 12
17.06.2012, 22:51  [ТС]
Проект большой)
http://bigsofts.ucoz.ru/proekt.rar
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
17.06.2012, 23:02
КАМАЗ,Создайте новый проект и кинтье туда эти несколько строчек и убитесь в том что проблема не в них...хотя это и так понятно, непонятно зачем так уператься...
0
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
17.06.2012, 23:04
КАМАЗ, да, проблема действительно не в этом.
0
0 / 0 / 0
Регистрация: 05.06.2012
Сообщений: 12
17.06.2012, 23:09  [ТС]
Нашел проблему. В форме перезагружается изображение через canvas, но непонятно почему.
0
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
17.06.2012, 23:13
КАМАЗ, оставил создание только первой формы. Запустил проект, просто водил (не кликал) по спидбаттонам - оперативка поднялась до 500).
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
17.06.2012, 23:18
КАМАЗ, качать ваш проект и грузить его в иде многим лень, вы все же показывайте здесь основные моменты, если вопрос получил развитие.
0
0 / 0 / 0
Регистрация: 05.06.2012
Сообщений: 12
17.06.2012, 23:20  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void __fastcall TForm2::FormPaint(TObject *Sender)
{
/*Graphics::TBitmap *bgp; bgp = new Graphics::TBitmap(); //фон
 try
  {
   bgp->LoadFromFile(ExtractFileDir(ParamStr(0))+"\\images\\background.bmp ");
  }
  catch (EFOpenError &e)
  {  }
 Canvas->Draw(0,0,bgp);
 
 Graphics::TBitmap *lbp; lbp = new Graphics::TBitmap(); //боковая панель
 try
  {
   lbp->LoadFromFile(ExtractFileDir(ParamStr(0))+"\\images\\left-block.bmp ");
  }
  catch (EFOpenError &e)
  {  }
 Canvas->Draw(0,0,lbp);*/
}
было из-за этого
0
Модератор
Эксперт по электронике
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,863
17.06.2012, 23:22
Цитата Сообщение от The_Immortal Посмотреть сообщение
оставил создание только первой формы. Запустил проект, просто водил (не кликал) по спидбаттонам
дискрепторы рисования то освобождаешь???

Добавлено через 1 минуту
Цитата Сообщение от КАМАЗ Посмотреть сообщение
bgp = new Graphics::TBitmap();
а удаляем то где???
1
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
17.06.2012, 23:24
Лучший ответ Сообщение было отмечено как решение

Решение

C++
1
2
//...в конце
__finally { delete bgp,lbp; }// вместо catch
А вообще приведенный код - хрень,
так как тупо грузить каждый раз при пересовке рисунок из файла...
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.06.2012, 23:24
Помогаю со студенческими работами здесь

Увеличение потребляемой оперативной памяти
Подскажите, пожалуйта, почему программа после каждого последующего исполнения процедуры использует на 20 мб оперативной памяти больше чем...

Как уменьшить количество потребляемой памяти
Написал простенькую консольную програмку с несколькими классами. В диспечере задач она занимает не меньше 11 мб памяти. хотелось бы...

Как уменьшить объём потребляемой оперативной памяти?
Используется C# MySql При добавлении в таблицу MySql новых записей растёт потребление оперативной памяти. Код ...

Как уменьшить объём потребляемой оперативной памяти программой?
Добавляю запись в таблицу MySql кодом private void insertData() { string conStr = "server=127.0.0.1;user=root;" + ...

Ускорить загрузку программы и уменьшить количество потребляемой памяти
День добрый! Очень важно, чтобы программа не тратила слишком много оперативки, а также загружалось относительно быстро. Наверняка можно...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru