![]() |
|
#1
|
|||
|
|||
![]() Есть приложение на две формы. Первая - всегда в инвизе, выполняет свою работу в фоновом режиме. Вторая форма используется для настройки программы и содержит весь интерфейс, она подключена к первой через uses и каждый раз создается при необходимости (первая обрабатывает клики по иконке в трее).
Вопрос: как сделать так, чтобы вторая форма при ее закрытии выгружалась из памяти? Весит она больше половины всего приложения, нужна редко, а оперативку кушает. |
#2
|
||||
|
||||
![]() Не криэйтить ее при инициализации приложения.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#3
|
||||
|
||||
![]() 1. для обработки сообщений Shell_NotifyIcon лучше, имхо, использовать окно, чем целую VCL форму
Цитата:
Код:
FormSetup:=TFormSetup.Create(Application); FormSetup.ShowModal; FormSetup.Free; Пишу программы за еду. __________________ |
#4
|
|||
|
|||
![]() Цитата:
Не криэйчу. Из project.dpr удалил. Но как только прописываешь в uses первой формы сразу она вся сидит в памяти и никакие FreeAndNil не помогают ( Цитата:
1. Ну первая форма на самом деле много полезного делает, по сути, все полезное действие программы в ней. 2. Из аутокриэйта убрал, код так и был. С созданием формы то все ясно. И программа ДО ее создания занимает положенные очень мало килобайт. Вопрос в том, почему когда я форму уничтожаю объем занимаемой памяти обратно не падает (к объему до создания формы) и как это исправить. |
#5
|
||||
|
||||
![]() То что объем памяти не падает - это фича ММ от борланда истчо.
А как съэкономить ресурсы... Паралельные потоки (TThread) помогут гиганту мысли.... Даже ЗЫЖ писать не буду... лениво... Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#6
|
|||
|
|||
![]() Аристарх, вообще-то это фокусы виндового менеджера памяти. Есть спец. вызов API, заставляющий отобрать у процесса всю неиспользуемую память. Естественно, если память захапана борландовым ММ, то она не считается неиспользуемой и не может быть освобождена.
Хотя это не принципиально. При необходимости в памяти винда сама отберет все лишнее у разных процессов. |
#7
|
|||
|
|||
![]() Цитата:
Потоки - это, кстати, идея, но хочется проще). Цитата:
Интересно, что за вызов? |