Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.02;
Скачать: CL | DM;

Вниз

Как закрыть 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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.049 c
15-1148544478
Agent13
2006-05-25 12:07
2006.07.02
2007 Microsoft Office System Beta 2


1-1148027278
Dr.TurboBoa
2006-05-19 12:27
2006.07.02
Как работать с property типа TStrings


15-1149325813
ChelovekABCDEF
2006-06-03 13:10
2006.07.02
Правильно ли решена задача?


15-1149411044
Галинка
2006-06-04 12:50
2006.07.02
Где найти книги по C#


2-1150449400
Тимофей Юрьевич
2006-06-16 13:16
2006.07.02
условие