Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.
Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...
Когда во время разработки вы устанавливаете "DataSource"-свойство в БД-компонентах для указания на модуль данных, VCL во время выполнения приложения будет пытаться создать связь с существующим TDataModule, основываясь на его свойтсве Name. Так, если вы добавите модуль данных к вашему проекту и переместите его в свойстве проекта из колонки автоматически создаваемых форм в колонку доступных, вы сможете разработать форму, содержащую элементы управления для работы с базами данных, после чего несколькими строчками кода можете создать экземпляр формы, имеющий экземпляр собственного модуля данных.
С помощью Репозитория создайте "standard MDI application" (стандартное MDI-приложение), в котором модуль TMDICHild будет похож на приведенный ниже. Добавленные строки имеют комментарий {!}. Хитрости спрятаны в конструкторе create и задании другого порядка следования операторов.
unitChildwin; interface
uses
Windows, Classes, Graphics, Forms, Controls, ExtCtrls, DBCtrls, StdCtrls, Mask, Grids, DBGrids, DataM; {!} // Модуль TDataModule1 type
TMDIChild = class
(TForm) DBGrid1: TDBGrid; DBGrid2: TDBGrid; DBEdit1: TDBEdit; DBEdit2: TDBEdit; DBNavigator1: TDBNavigator; procedure
FormClose(Sender: TObject; var
Action: TCloseAction); private
{ Private declarations } public
{ Public declarations } {!} DM: TDataModule1; {!} constructor
Create(AOwner: TComponent); override
; end
; implementation
{$IFDEF XOXOXOX} // DataM должен находиться в секции interface. Необходимо для среды uses
DataM;
// времени проектирования. Определение "XOXOXOX" подразумевает, {$ENDIF} // что это никогда не будет определено, но чтобы компилятор видел это. {$R *.DFM} {!} constructorTMDIChild.Create;
{!} begin{!} DM := TDataModule1.Create(Application); {!} inherited
Create(AOwner);
{!} DM.Name := ''; {!} end; procedure
TMDIChild.FormClose(Sender: TObject; var
Action: TCloseAction); begin
Action := caFree; end
; end
.