Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TDataModule [D5, D6, D7]


Lefan ©   (2003-05-06 11:37:00) 

Приветсвую все!!!
Народ, такой вопрос, делаю так:
...
var dataDB : TDataModule;
begin
dataDB := TDataModule1.Create(nil);

^^^^^
сюда надо параметр, а какой не могу разобраться
...

Заранее благодарен.
С уважением Алексей.


MsGuns   (2003-05-06 16:12:00) [1]

>Sergey Masloff (06.05.03 16:02)
>Кстати, в свете предыдущих дискуссий о ты и Вы - в моем случае это не было проявлением обиды и так далее. Так, на всякий случай уточню.

Если та дискуссия была прочитана в полном объеме и внимательно, то я там высказал свое ХО по этому поводу. В частности, что одна из причин, побуждающих использовать форму обращения "Вы" - это элементарное уважение и признание превосходства. В данном вопросе я именно это и хотел подчеркнуть. Если мы будем спорить на равных, будет "тыкание" ;)
Поэтому

Спасибо Вамза пояснение.

С неменьшим уважением.

ЗЫ. А теперь как Добчинский с Бобчинским будем по очереди с интервалом в 5-10 мин. выражать свое уважение ;))))


Sergey Masloff   (2003-05-06 16:02:00) [2]

MsGuns ©
>Очень жаль, что фразу об опыте Вы поняли с точностью наоборот
И мне жаль ;-) Кстати, в свете предыдущих дискуссий о ты и Вы - в моем случае это не было проявлением обиды и так далее. Так, на всякий случай уточню.

>На счет класса, реализующего бизнес-логику, я усек. Только все >равно мне невдомек, почему я не могу это реализовать в простом >юните ? Все это динамическое создание и т.п. И оформить это >все, например, в библиотеку ?
Можно. Только много раз надо будет написать Create и Free() а лишние 50 строк не способствуют моральному удовлетворению. Поэтому я часто использую модуль данных именно как юнит для разных функций и - как бесплатный довесок - для нескольких компонентов для работы с БД. То есть я динамически создаю 1 объект - модуль данных а остальные уже он сам. Просто удобно. Хотя иногда я использую и предложеный Вами вариант- динамическое создание всех нужных компонент. Скажу больше, я еще не решил окончательно какой вариант нравится мне больше.

С уважением


MsGuns   (2003-05-06 15:50:00) [3]

>Sergey Masloff (06.05.03 15:44)

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

На счет класса, реализующего бизнес-логику, я усек. Только все равно мне невдомек, почему я не могу это реализовать в простом юните ? Все это динамическое создание и т.п. И оформить это все, например, в библиотеку ?


Sergey Masloff   (2003-05-06 15:44:00) [4]

MsGuns ©
>Опыта у меня не чета Вам и мне бы очень хотелось услышать примеры РАЦИОНАЛЬНОГО использования ДМ, создаваемого динамически.
Хорошая фраза. Непонятно только откуда Вам известно о количестве моего опыта ;-)) И что Вы понимаете под рациональностью? Модуль данных можно использовать не только как удобную добавку для девелопера. А и как полноценный класс реализующий логику работы с базой данных (а, возможно, и бизнес-логику). Не вся эта логика нужна одновременно, в приложении может быть несколько (много) десятков модулей данных и создавать их автоматически при старте приложения - мягко говоря, нехорошо.


MsGuns   (2003-05-06 14:54:00) [5]

>Sergey Masloff (06.05.03 14:13)
>Ну на нем компоненты которые нужны не при каждом запуске программы

Так пусть их динамически и создает в том юните, где этот самый хитрый отчет ! Насколько я понимаю назначение модуля данных - это просто удобная добавка в интерфейсе девелопера для выделения и централизации алгоритмики обмена данными со всеми ее наворотами. Опыта у меня не чета Вам и мне бы очень хотелось услышать примеры РАЦИОНАЛЬНОГО использования ДМ, создаваемого динамически.


Sergey Masloff   (2003-05-06 14:13:00) [6]

MsGuns © (06.05.03 11:46)
>А зачем его создавать в рантайме ? Или я чего-то недопонимаю ?
Ну на нем компоненты которые нужны не при каждом запуске программы. Какая-нибудь суперхитрая печать квартального отчета - на фига ее каждый раз при запуске программы в память поднимать.


Lefan © (06.05.03 11:37)
Если делаешь
> dataDB := TDataModule1.Create(nil);
то нужно позаботиться о том чтобы где-то потом сделать
dataDB.Free();

Если передать вместо nil какого-нибудь потомка TComponent то Free за тебя сделает этот передаваемый компонент.


Anatoly Podgoretsky   (2003-05-06 13:48:00) [7]

Может и правильно, а может и нет, твой код мы не видели.


Lefan   (2003-05-06 13:12:00) [8]

с nil работает, но но может это неправильно.....


Anatoly Podgoretsky   (2003-05-06 11:52:00) [9]

nil вполне устраивает, а так можешь любой наследник от TComponent


Соловьев   (2003-05-06 11:49:00) [10]

DataModule можно подключать к проекту и так. Я например когда скрипты писал так делал, и не создавал в ран-тайме.


MsGuns   (2003-05-06 11:46:00) [11]

А зачем его создавать в рантайме ? Или я чего-то недопонимаю ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо