Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Вопрос?!


Автор: Kbl4AH 6.11.2008, 17:47
Люди, подскажите, пожалуйста, несведующему - зачем в Делфи существует объект DataModule? Зачем он вобще нужен?


M
Alexeis
Модератор: Название темы должно отражать ее суть!

Автор: Bose 6.11.2008, 20:07
Ответ: 
чтобы не плодить формы.

Автор: Kbl4AH 6.11.2008, 22:10
Цитата(Bose @ 6.11.2008,  21:07)
Ответ: 
чтобы не плодить формы.

Что-то не очень ответ smile 
Я с таким успехом могу использовать одну форму вместо ДатаМодуля (единственное, что вобще невидим)...
Зачем он все-таки нужен?

Автор: Bose 6.11.2008, 22:21
Цитата(Kbl4AH @  6.11.2008,  22:10 Найти цитируемый пост)
Я с таким успехом могу использовать одну форму вместо ДатаМодуля (единственное, что вобще невидим)...

Можешь.

Но лучше использовать TDataModule, потому что 
1) он жрёт меньше ресурсов. 
2) Форма - для визуальных контролов, DataModule для контролов. 
3) лучше не путать логику программы и визуальное отображение

Добавлено через 6 минут и 26 секунд
На сложных формах, например в программах для извращённой работой с БД, может быть очень много визуальных компонент. Также этой форме для работы могут потребоваться десятки разных невизуальных компонент для работы с базой, и тысячи строк кода реализующих логику работы с базой.
Если всё это кидать на одну форму - то получится большая-пребольшая свалка. 

Хорошим тоном программирования считается, использовать форму только для отображения данных, а всю логику прятать либо в классы, либо в DataModule. В больших проектах с которыми мне приходилось сталкиваться для каждой формы существовал отдельный Datamodule. Хочешь верь, хочешь нет =)

Добавлено через 8 минут и 1 секунду
 smile 
а как пример, посмотри сколько всего инициализируется при создании формы, и сравни с TDataModule.

Добавлено через 8 минут и 55 секунд
Цитата(Kbl4AH @  6.11.2008,  22:10 Найти цитируемый пост)
Я с таким успехом могу использовать одну форму вместо ДатаМодуля (единственное, что вобще невидим)...

С таким же успехом можно вообще всё приложение в одну форму запихать. И прятать/показывать только нужные в этот момент контролы.

Автор: Kbl4AH 6.11.2008, 22:40
Доходчиво!!!
Я почему этот вопрос задал... Когда у меня несколько форм я использую ДатаМодуль...
А когда одна, то неудобно его использовать...
Када одна форма есть смысл компоненты размещать на ней, а не в ДатаМодуле?

Автор: Bose 6.11.2008, 22:42
Цитата(Kbl4AH @  6.11.2008,  22:40 Найти цитируемый пост)
Када одна форма есть смысл компоненты размещать на ней, а не в ДатаМодуле? 

Как тебе удобнее. 

Правила без исключений - это исключение из правил. =)

Автор: Kbl4AH 6.11.2008, 22:45
Спасибо!

Автор: Shaggy 7.11.2008, 00:53
Цитата(Bose @  7.11.2008,  00:21 Найти цитируемый пост)
Но лучше использовать TDataModule, потому что 
1) он жрёт меньше ресурсов. 
2) Форма - для визуальных контролов, DataModule для контролов. 
3) лучше не путать логику программы и визуальное отображение

4) он не тащит за собой VCL

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)