Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.10.23;
Скачать: [xml.tar.bz2];

Вниз

Много ли занимают памяти дополнительные формы ?   Найти похожие ветки 

 
dream   (2003-10-13 10:14) [0]

Вот вопрос делаю прогу и избегаю создания дополнительных форм , думаю что они будут есть память , правда ли это и стоит ли создавать множество форм , чтобы они все были в памяти ( то есть создавались при включении программы автоматически ) ?


 
KSergey   (2003-10-13 10:29) [1]

Стоп, как понимать слова "избегаю создания дополнительных форм"? В смысле все упихать в одну? Или все же речь об автоматическом создании?
А вообще - любой созданный компонент занимает память - куда от этого уйти? ;)
А много или мало - это относительные понятия.


 
dream   (2003-10-13 10:35) [2]

>KSergey

Ну например у меня прога с 3 формами
А я решил добавить туда ещё 7 форм как это отразиться на памяти программы , на счёт компонентов я ничего не говорю ! я хочу узнать только про формы


 
BOA_KAA   (2003-10-13 10:39) [3]

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


 
KSergey   (2003-10-13 10:42) [4]

2 [2] dream (13.10.03 10:35)

А форма - это и есть компонент в понятиях дельфи ;)
А как отразится - известно как, это любой подтвердит: на каждом этапе программа начнет жрать больше ресурсов. И чем больше форм - тем больше и больше.


 
Anatoly Podgoretsky   (2003-10-13 10:45) [5]

dream (13.10.03 10:35) [2]
Это проверяется просто, делаешь программу с 3, смотришь сколько она ест, затем делаешь с 7. Разница и есть тебе нужное значение.

Создавать при старте, это безответственно относиться к ресурсам системы, не резиновые.


 
Dream   (2003-10-13 11:01) [6]

> BOA_KAA

Подскажите как создавать формы динамически , то есть я понял что их нужно удалить из списка автоматически создаваемых. Как их запускать ? И как их потом безболезнено отключать ? есть ли пример или где об этом можно почитать ?


 
Карелин Артем   (2003-10-13 11:05) [7]

Form1:=TForm1.Create(Self); - создание
Form1.Show; - показ.
Form1.Free; - Безболезненно отключаем.


 
toc   (2003-10-13 11:11) [8]

Если MDI приложение, то
Создаем так:
TfrmUsers.Create(Application);
Убиваем призакрытии так:
procedure TfrmUsers.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;

Если не MDI приложение, то например так:
var f:TMyForm;
begin
f := TMyForm.Create(Application);

// Показываем модальное окно
if f.ShowModal=mrYes then ... // если нажали ДА
else... ;

f.Free; // Освобождаем память
end;


 
Anatoly Podgoretsky   (2003-10-13 11:12) [9]

Карелин Артем © (13.10.03 11:05) [7]
Кроме пункта третьего в данном примере.


 
Dream   (2003-10-13 11:13) [10]

> Карелин Артем

Спасибо ! Теперь проблема решена !


 
Dream   (2003-10-13 11:14) [11]

> Anatoly Podgoretsky

Почему кроме 3 пункта ?


 
toc   (2003-10-13 11:14) [12]


> Карелин Артем © (13.10.03 11:05) [7]
> Form1:=TForm1.Create(Self); - создание
> Form1.Show; - показ.
> Form1.Free; - Безболезненно отключаем.


Если Free сразу после Show, то пользователь будет видеть форму ровно 0,01 секунду


 
Skier   (2003-10-13 11:14) [13]

>Карелин Артем © (13.10.03 11:05) [7]
Сколько времени Form1 будет на экране ? :)


 
Dream   (2003-10-13 11:18) [14]

> Skier

> toc

Карелин Артем же образно говорил ! метод free можно вызывать когда захочешь ! а 1 и 2 метод сразу ! так работает


 
Карелин Артем   (2003-10-13 11:18) [15]

Ну что вы с временем пристали? Может вам еще переменные обьявить, отступы поставить и ошибки ловить :)


 
Плохиш_   (2003-10-13 11:20) [16]

Предлагаю Карелин Артем © (13.10.03 11:05) [7] читать так: между 2м и 3м пунктом многоточие ;-)

PS. Во набросились 8-)


 
pasha_676   (2003-10-13 11:28) [17]


> Ну что вы с временем пристали?

Просто на самом деле задача раскладывается на две
1) Создаваемая форма модальная.
2) Создаваемая форма не модальная.

Во втором случае free надо делать в самой форме.


 
Anatoly Podgoretsky   (2003-10-13 11:31) [18]

Карелин Артем © (13.10.03 11:18) [15]
Ну если бы ты написал ShowModal то претензий бы не было, а так ошибка.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.10.23;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.011 c
7-74494
RomCom
2003-08-09 09:50
2003.10.23
Установка Tx COM-порта


14-74381
MBo
2003-10-03 06:50
2003.10.23
Планы партии - планы народа.


3-73982
Zhouck
2003-10-01 11:59
2003.10.23
IBExpert


3-74004
alex25
2003-09-30 17:24
2003.10.23
Функция текущей даты


1-74150
saska
2003-10-10 14:40
2003.10.23
GUID





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский