Datamodule delphi как подключить

Delphi Notes

Заметки Delphi + Oracle программиста

Страницы

вторник, 29 октября 2013 г.

Полезняшки. С чего мы начинаем приложение в Delphi

Суть заметки в двух словах: организация dpr-файла и вынос мозга инициализации приложения в DataModule.

Эту заметку не стоит рассматривать как единственно верный вариант. Просто я хочу поделиться опытом. Я расскажу, как делаю я и как это делается у нас. Ничего особенного. Но самостоятельно к этому приходят не все и не сразу. А делаю я так, потому что описанный ниже подход облегчает сопровождение проектов (особенно, когда их несколько, и все они потихоньку разрастаются).

Итак, первое, что я всегда делаю после установки Delphi – снимаю флаг с пункта меню Auto create forms & data modules. Этот флаг по умолчанию установлен, наверное, как дань традиции. Однако сразу создавать все формы в приложении не есть хорошо. Я считаю, что ресурсы у системы надо выделять по мере необходимости (ну за исключением совсем простых, либо совсем особых случаев).

Затем устанавливаем пакет BaseForms (для VCL). Или не устанавливаем, но я на BaseForms ещё буду ссылаться.

Далее создаём новый проект. И сразу же удаляем только что созданную форму, т.к. она не базовая. Затем создаём датамодуль, форму которого называем DM, а файл – DataModule.pas. Это будет модуль, координирующий инициализацию и завершение приложения. Теперь можно всё сохранить и дать название нашему приложению. К примеру: MyTestProject. (Да, и добавим ещё AppExt в dpr-файл). Теперь dpr-файл выглядит вот так:

Тут хочу акцентировать внимание на том, что в dpr-файле создаётся только DataModule (DM). Остальные формы будут добавляться в uses, но секция begin – end. затрагиваться не будет.

И вот всё самое интересное выносим в DataModule.OnCreate. Это могут быть: SplashScreen, логгер критических ошибок, чтение пользовательских предпочтений, словарь данных, текстовые ресурсы. Здесь же спрашиваем логин/пароль у пользователя, если мы работаем с БД (и если без подключения к БД работать нет смысла). У меня всё это выглядит примерно так:

Пару комментариев к коду. Сначала показываем SplashScreen, чтобы пользователю не было “скучно”. Затем загружаем всё необходимое для работы приложения. QueryConnect в наших приложениях – это отображение полей ввода для пароля/логина к БД прям в окне SplashScreen и запуск цикла с Application.ProcessMessages, чтобы пользователь мог их ввести; плюс N-попыток подключения к БД. Если подключиться не удалось – QueryConnect вернёт False и произойдёт нормальное завершение приложения (т.к. Application.MainForm ещё не определён).

READ  Как правильно подключить трехфазное узо схема

PrepareDataModules – создаёт остальные датамодули. У нас их несколько – один хранит в себе ImageList’ы (т.е. все пиктограммы для тулбаров и меню собраны в одном месте, это очень удобно), другой содержит компоненты FastReport’а и механизмы для работы с отчётами, третий – датасеты (ну у нас не датасеты и генерируется оно автоматически, но инициализировать это тоже надо).

PrepareMainForm – создаёт главную форму приложения, ей будет передано управление в Application.Run сразу после выхода из приведённого обработчика.

Ещё Вы можете обратить внимание на то, что датамодуль у нас называется DM, а код выше я (намеренно) представил от имени TAppDataModule (вместо TDM). Это ещё одно упрощение для сопровождения – TAppDataModule содержит набор виртуальных методов (типа AfterConnected и PrepareMainForm) и является общим для группы проектов. А для конкретного проекта (типа MyTestProject) TDM наследуется от TAppDataModule и содержит уникальные для приложения вещи. (К слову сказать, TAppDataModule и остальные датамодули у нас наследуется от базового датамодуля, по аналогии с формами.)

Источник

Программирование в Delphi 7 стр.135

Delphi site: daily Delphi-news, documentation, articles, review, interview, computer humor.

Для создания модуля данных можно воспользоваться Репозиторием объектов или главным меню Delphi. Значок модуля данных Data Module расположен на странице New.

Как уже говорилось, модуль данных имеет мало общего со стандартной формой, хотя бы потому, что класс TDataModuie происходит непосредственно от класса TComponent. У него почти полностью отсутствуют свойства и методы-обработчики событий, ведь от платформы для других невизуальных компонентов почти ничего не требуется, хотя потомки модуля данных, работающие в распределенных приложениях, выполняют весьма важную работу.

Для создания структуры (модели, диаграммы) данных, с которой работает приложение, можно воспользоваться возможностями, предоставляемыми страницей Diagram Редактора кода. Любой элемент из иерархического дерева компонентов модуля данных можно перенести на страницу диаграммы и задать связи между ними.

READ  Как подключить солнечную батарею для зарядки телефона

При помощи управляющих кнопок можно задавать между элементами диаграммы отношения синхронного просмотра и главный/подчиненный. При этом производится автоматическая настройка свойств соответствующих компонентов.

Для создания модуля данных (рис. 11.2) можно воспользоваться Репозиторием объектов или главным меню Delphi. Значок модуля данных Data Module расположен на странице New.

Для обращения компонентов доступа к данным, расположенным в модуле данных, из других модулей проекта необходимо включить имя модуля в секцию uses:

Рис. 11.2. Модуль данных

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

Компонент доступа к данным является основой приложения баз данных. На основе выбранной таблицы БД он создает набор данных и позволяет эффективно управлять им. В процессе работы такой компонент тесно взаимодействует с функциями соответствующей технологии доступа к данным. Обычно доступ к функциональности технологии доступа к данным осуществляется через совокупность интерфейсов. Все компоненты доступа к данным являются невизуальными.

Для создания нового проекта достаточно выбрать команду New Application из меню File или воспользоваться Репозиторием объектов, который открывается командой New из меню File.

Здесь рассматривается простейший вариант создания приложения. В реальных проектах для размещения компонентов доступа к данным следует использовать модульданных.

Подключение набора данных

Затем на форму нового проекта необходимо перенести компонент, инкапсулирующий набор данных, и выполнить следующие действия. Последовательность действий рассмотрим для компонента, инкапсулирующего функции таблицы (см. гл. 12).

1. Подключишь компонент к базе данных. Для этого, в зависимости от конкретной технологии, используется или специальный компонент, устанавливающий соединение, или прямое обращение к драйверу, интерфейсу или динамической библиотеке. Детально способы соединения рассматриваются в части TV.

Программирование в Delphi 7

В книге обсуждаются вопросы профессиональной разработки приложений в среде Borland Delphi 7. Приводится детальное описание объектной концепции, стандартных и программных технологий, используемых при работе программистов. Значительная часть материала посвящена разработке приложений, базирующихся на широко используемых и перспективных технологиях доступа к данным: ADO, dbExpress, InterBase Express. Достойное место отведено распределенным многозвенным приложениям и технологии DataSnap. Все рассматриваемые в этой книге темы сопровождаются подробными примерами.

READ  Как подключить switch pro controller к pc

Источник

Один обработчик события для нескольких Data Module

Что можете посоветовать? Как сделать так что бы каждый раз не прописывать этот код а создать процедуру и просто заменять Формы?

Использую связь ADOConnection->ADOQuery->DataSet->DBGrid.
Delphi 2010 + SQL Server 2008.

Спасибо заранее. Жду ваших советов.

Один обработчик для нескольких кнопок
Вопрос: Как для калькулятора создать один обработчик для цифровых кнопок (0-9), чтобы для каждой.

Один обработчик события для нескольких TextBox’ов
Добрый день! У меня в приложении 4 текстбокса пишу код для запрета ввода букв, как его применить.

ну а как я смогу это все соединить.

у меня в программе есть много процедур

и очень много DataModule(т.е. форм)

и меняется вот что:

они одинаковые только меняется сама форма(DataModule)

Добавлено через 19 секунд
или я чего то не могу понять?

Добавлено через 1 минуту
или может что нибудь посоветуете. что бы уйти от этого всего.

Сделай один обработчик как я написал выше.
Убери в нем все CKM_12_1..
И назначь его всем Гридам.

FIL, А как в этом коде будет обрабатыватся TDataModule3?

Добавлено через 6 минут
Я так понял что у ТС 20 Гридов и 20 TDataModule с именами CKM_12_1 и так далее.

ZfoxAK, если Sender = TDataModule3, то мы получаем доступ к TDataModule3 (при условии что структура TDataModule3 идентична TDataModule2).

vasek39, куда уж подробнее?

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как сделать свой обработчик события для нескольких TextBox
У меня есть метод, который не позволяет писать в textBox’ы ничего кроме цифр. public static int.

Один обработчик для нескольких ImageButton
Есть у меня несколько ImageButton на TableView. На них изображение. Создаю обработчик дерез.

Один обработчик для нескольких PictureBox
Всем доброго времени суток. Есть много пикчер боксов около 16 штук, и на каждый нужно привязать.

Один обработчик для нескольких Image
Ребят подскажите плиз как работать с обработчиками компонентов а то ни где инфы нет.

Один обработчик для нескольких switch
Привет. Делаю приложение для управления устройством на ардуино по блютуз. Кое как разобрался как.

Источник

Поделиться с друзьями
Как подключить и установить...
Adblock
detector