Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание форм 
:(
    Опции темы
 
как вы создаёте формы?
Не создаю, они создаются автоматически. [ 3 ]  [9.09%]
Application.CreateForm(TForm, Form); [ 9 ]  [27.27%]
Form := TForm.Create(Application) [ 9 ]  [27.27%]
Form := TForm.Create(nil) [ 2 ]  [6.06%]
Form := TForm.Create(self) [ 6 ]  [18.18%]
другое [ 4 ]  [12.12%]
Всего проголосовавших: 33
В этом опросе возможен один вариант ответа
Гости не могут голосовать 
Alex
Дата 16.6.2006, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 80
Всего: 162



Цитата(Bose @  16.6.2006,  20:05 Найти цитируемый пост)
И ещё возник такой вопрос - что происходит с формой созданной как Form := TForm.Create(nil). Если её не освобождать "ручками", то в какой момент она будет освобождена?  

Если я ничего не путаю, то получается, что owner у нее не задан и она в обще не получит сообщения, о том, что должна уничтожиться и занимаемую ей память уже будет чистить винда сама за приложением, по сути это утечка памяти. 


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Bose
Дата 16.6.2006, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 23
Всего: 51



Цитата(Alex @  16.6.2006,  19:16 Найти цитируемый пост)
Если я ничего не путаю, то получается, что owner у нее не задан и она в обще не получит сообщения, о том, что должна уничтожиться и занимаемую ей память уже будет чистить винда сама за приложением, по сути это утечка памяти. 


т.е. Borland Memory managaer её не убъёт при закрытии приложения?  
PM MAIL WWW Skype   Вверх
Alex
Дата 16.6.2006, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 80
Всего: 162



Цитата(Bose @  16.6.2006,  20:31 Найти цитируемый пост)
т.е. Borland Memory managaer её не убъёт при закрытии приложения? 

Утверждать, со 100% уверенностью не могу, но все же мне кажется винда будет убивать их когда будет чистить за приложением, хотя возможно и менеджер памяти Борланд. В любом случаи созданные вами объекты Вы сами и должны уничтожать

Добавлено @ 20:54 
А что касается создания, то я в 99% случаях для модальных форм пишу приблизительно так:
Код

function ShowXXX(...): TModalResult;
begin
  with TfrmXXX.Create(Application) do try
    Result:= ShowModal;
  finally
    Release;
  end;
end;

Хотя в текущем проекте это все обычно оформляется как процедура 


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
DragonFire
Дата 16.6.2006, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 14.8.2005
Где: Москва

Репутация: нет
Всего: 9



Пользуюсь окнами а не формами... Создаю при помощи CreateWindowEx... 


--------------------
PM MAIL ICQ   Вверх
Демо
Дата 16.6.2006, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 30
Всего: 50



Цитата(Bose @  16.6.2006,  19:31 Найти цитируемый пост)
т.е. Borland Memory managaer её не убъёт при закрытии приложения?  


Все ресурсы, выделенные в приложении, будут освобождены при завершении процесса.
Одно исключения я знаю - это атомы.

По теме топика - все зависит от контекста программы.  

Это сообщение отредактировал(а) Демо - 16.6.2006, 21:16


--------------------
    
PM MAIL ICQ Skype   Вверх
Dynamic
Дата 19.6.2006, 06:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 372
Регистрация: 5.7.2004
Где: Салехард

Репутация: 12
Всего: 15



Цитата(Bose @  16.6.2006,  19:31 Найти цитируемый пост)
т.е. Borland Memory managaer её не убъёт при закрытии приложения?   

BMM никого и ничего сам не убивает, он управляет памятью, а не приложением.
 


--------------------
Было бы о чем молчать, а уж что сказать – всегда найдется...
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0829 ]   [ Использовано запросов: 23 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.