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

Вниз

Как закрыть DataModule   Найти похожие ветки 

 
yaral ©   (2006-04-27 13:48) [0]

Я создаю DataModule:
Application.CreateForm(TMyDataModule, MyDataModule);
А метода Close у него нет... Как мне его закрыть когда он мне больше не нужен?


 
Рамиль ©   (2006-04-27 13:50) [1]

Free


 
yaral ©   (2006-04-27 14:12) [2]

Если я обычную форму при момощи Free уничтожаю потом с памятью глуки начинаются, а с DataModule так можно делать?


 
Nikolay M. ©   (2006-04-27 14:37) [3]


> Если я обычную форму при момощи Free уничтожаю потом с памятью
> глуки начинаются, а с DataModule так можно делать?


Потому что форму нужно уничтожать Release-ом. А вот мне интересно узнать, зачем может понадобиться создавать датамодуль в рантайме?


 
Johnmen ©   (2006-04-27 14:45) [4]


> Nikolay M. ©   (27.04.06 14:37) [3]
> Потому что форму нужно уничтожать Release-ом.


Не понятно... Чем Free не подходит?


 
Nikolay M. ©   (2006-04-27 14:53) [5]


> Johnmen ©   (27.04.06 14:45) [4]


Гм... Не ожидал, что буду тебе это говорить, но F1 :)))
Release уничтожает форму более корректно.


 
Johnmen ©   (2006-04-27 14:58) [6]


> Nikolay M. ©   (27.04.06 14:53) [5]


А... В этом смысле....
Тогда да.


 
Nikolay M. ©   (2006-04-27 15:24) [7]


> Johnmen ©   (27.04.06 14:58) [6]


А какой еще тут м.б. смысл? :)


 
Johnmen ©   (2006-04-27 15:38) [8]


> Nikolay M. ©   (27.04.06 15:24) [7]


Простой.
Если мы разрушаем форму, то, как правило, нам побарабану, как там обработаются сообщения, что произойдёт с недоработавшими обработчиками etc. А значит и Фри уместен.
Конечно же, можно придумать, когда не побарабану. Тогда да.


 
Desdechado ©   (2006-04-27 15:47) [9]

Close = закрыть
поскольку датамодуль и не показывается, то его закрыть нельзя


 
K_VAL   (2006-04-28 09:48) [10]

Никаких глюков Free не дает , если правильно применять , поначалу тоже сталкивалась с глюками из-за того , что неправильно делала .
В главной форме проекта , когда закончили работу :

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
DataModule1.Free;
Application.Terminate;
end;

Все работает . Программа работает 2-ой год и никаких глюков .


 
ЮЮ ©   (2006-04-28 09:56) [11]

Какие уж тут глюки после  Application.Terminate.  :)
DataModule1.Free - это уже лишнее.


 
Nikolay M. ©   (2006-04-28 10:28) [12]


> procedure TForm1.FormClose(Sender: TObject; var Action:
> TCloseAction);
> begin
> DataModule1.Free;
> Application.Terminate;
> end;


Круто... Еще можно сделать Format ("c:"), Damage (Hard disk), Detonate (Monitor) - тогда точно никаких глюков не будет :)


 
isasa ©   (2006-04-28 11:06) [13]

yaral ©   (27.04.06 14:12) [2]

Если я обычную форму при момощи Free уничтожаю потом с памятью глуки начинаются

А надо корректно освобождать ресурсы формы, у которых Parent:=nil. :)


 
alex_*** ©   (2006-04-28 13:46) [14]

надо еще глуки уничтожать у которых Owner = этой форме. Через Free


 
Хозяин   (2006-05-05 02:12) [15]

Nikolay M. ©   (27.04.06 14:37) [3]
А вот мне интересно узнать, зачем может понадобиться создавать датамодуль в рантайме?

Например, в MDI-окнах, когда DB-компонентов туча.


 
jack128 ©   (2006-05-05 02:46) [16]

Nikolay M. ©   (27.04.06 14:37) [3]
А вот мне интересно узнать, зачем может понадобиться создавать датамодуль в рантайме?

работа с несколькими базами, каждый экземпляр DM под свою базу..  Или работа - это вспомогательная функция программы, и большую часть времени работы с программой DM - нафиг не нужен..


 
jack128 ©   (2006-05-05 02:47) [17]

jack128 ©   (05.05.06 2:46) [16]
Или работа с БД- это вспомогательная функция программы,


 
Nikolay M. ©   (2006-05-05 11:25) [18]


> Хозяин   (05.05.06 02:12) [15]
> jack128 ©   (05.05.06 02:46) [16]


Убедили. Хотя случаи, имхо, экзотические.
У меня лично для MDI не бывает столько индивидуальных датасетов, чтобы выносить их в отдельный датамодуль, как правило храню их на самой child-форме.



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

Форум: "Базы";
Текущий архив: 2006.07.02;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.009 c
2-1149676222
Ivolg
2006-06-07 14:30
2006.07.02
Замена


3-1147005977
wirg
2006-05-07 16:46
2006.07.02
нужна помощь


15-1149584884
Kerk
2006-06-06 13:08
2006.07.02
Бойцовский клуб


1-1148317839
Juice
2006-05-22 21:10
2006.07.02
Drag&Dock и позиция дочерних элементов


4-1143621713
Svetlika
2006-03-29 12:41
2006.07.02
Как показать окно первого экземпляра из второго?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский