Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.05.2014, 21:04   #1
HTTqp
Форумчанин
 
Регистрация: 20.12.2013
Сообщений: 164
По умолчанию Почему используется так много ram

Написал программу, в коде постарался обойтись функциями и процедурами winapi, но все равно потребление файлом осталсь 4,5-5 мб ram. Решил схетрить, убрал весь код оставил только компоненты, стало использоваться 4,2-4,7 мб, форма без компонентов использует в среднем 1,2 мб ram, из компонентов, listview, пару Panel, Button. Подскажите почему компонеты так хаваю много? Пробовал создать динамически, но все равно использование 4,5-5 мб ram.
HTTqp вне форума Ответить с цитированием
Старый 14.05.2014, 21:23   #2
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,759
По умолчанию

Это VCL. Да и 4-5 метров это очень мало.
FaTaL вне форума Ответить с цитированием
Старый 14.05.2014, 21:36   #3
HTTqp
Форумчанин
 
Регистрация: 20.12.2013
Сообщений: 164
По умолчанию

Цитата:
Сообщение от FaTaL Посмотреть сообщение
Это VCL. Да и 4-5 метров это очень мало.
Поспорю, вот как у меня в коде
Код:
uses
Winapi.Windows,Winapi.Messages,System.SysUtils,System.Classes,Graphics,Controls,Forms,Dialogs,
ExtCtrls,ComCtrls,ImgList,Menus,StdCtrls,Buttons,Winapi.CommCtrl,ShellAPI;
HTTqp вне форума Ответить с цитированием
Старый 14.05.2014, 21:51   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

А что Forms и прочее, связанное с визуальными компонентами не VCL?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 14.05.2014, 21:58   #5
HTTqp
Форумчанин
 
Регистрация: 20.12.2013
Сообщений: 164
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
А что Forms и прочее, связанное с визуальными компонентами не VCL?
Код:
program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.
P.S. Прошу прощение что не в тему, ну как у динамически созданного ListView описать Columns? Создать 5 колонок с определенными именами.
HTTqp вне форума Ответить с цитированием
Старый 14.05.2014, 21:59   #6
doktor255
Заблокирован
 
Регистрация: 31.03.2011
Сообщений: 976
По умолчанию

Хочешь маленькую программу? Пиши на D7.
doktor255 вне форума Ответить с цитированием
Старый 14.05.2014, 22:02   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

И что? Загляните в unit Forms и его ссылки на другие юниты. Одного Forms достаточно для полного или почти джентльменского набора VCL
Цитата:
в коде постарался обойтись функциями и процедурами winapi
Форму сначала средствами только API создайте, тогда и поймете в чем разница
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 14.05.2014 в 22:04.
Аватар вне форума Ответить с цитированием
Старый 14.05.2014, 22:14   #8
doktor255
Заблокирован
 
Регистрация: 31.03.2011
Сообщений: 976
По умолчанию

Где - то видел пример создания API -шной формы... Работало, но выглядело жутко. Добавляем к API -шному коду формы API -шные компоненты, и получаем такую кучу бреда, что желание уменьшить программу отваливается само собой. Вывод: тема бессмысленна.
doktor255 вне форума Ответить с цитированием
Старый 14.05.2014, 22:20   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Хочешь маленькую программу? Пиши на D7.
А еще лучше на APIx - Visual WinAPI (http://piddlesoft.narod.ru/)
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.05.2014, 22:26   #10
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,442
По умолчанию

Как же достали жлобы операционки.

По теме:Потому что это VCL и оно сделано красиво, потому что всякий объект занимает память.

WinAPI это полный отказ от использования визуальных компонентов и любых других компонентов и RTL классов в целом.

Хотите минимум? Вот начало вот конец.

И памяти будет кушать мало, и exe завесит менее 100 кб, НО:
1. Никаких визуальных компонент
2. Никаких классов связанных с RTL/VCL
3. Никаких библиотек и готового кода.
Только WinAPI только hardcode.
Человек_Борща вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему так много весит?! DIMANJ Софт 34 10.08.2012 11:29
Почему не используется первичный ключ? Linel SQL, базы данных 0 11.07.2012 10:50
почему в dev-c++ исполняемы файлы очень много весят?и как их облегчить? ромик0 Visual C++ 0 23.05.2011 19:02
Почему так много структур данных? ilia.sk8 Помощь студентам 1 28.01.2011 19:03
Вопросов много, так что попорядку! Ermiss Общие вопросы Delphi 14 01.11.2007 16:18