Skip to content

Commit cd5ef29

Browse files
committed
cpp-builder: Extract data components to a data module
1 parent 59c2706 commit cd5ef29

7 files changed

Lines changed: 391 additions & 332 deletions

File tree

CPB/ReportFilter.cbproj

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,12 +199,20 @@ $(PostBuildEvent)]]></PostBuildEvent>
199199
<BuildOrder>1</BuildOrder>
200200
<PCH>true</PCH>
201201
</PCHCompile>
202+
<CppCompile Include="uData.cpp">
203+
<Form>DataModule1</Form>
204+
<FormType>dfm</FormType>
205+
<DesignClass>TDataModule</DesignClass>
206+
<DependentOn>uData.h</DependentOn>
207+
<BuildOrder>4</BuildOrder>
208+
</CppCompile>
202209
<CppCompile Include="uMainForm.cpp">
203210
<Form>MainForm</Form>
204211
<FormType>dfm</FormType>
205212
<DependentOn>uMainForm.h</DependentOn>
206213
<BuildOrder>2</BuildOrder>
207214
</CppCompile>
215+
<FormResources Include="uData.dfm"/>
208216
<BuildConfiguration Include="Base">
209217
<Key>Base</Key>
210218
</BuildConfiguration>

CPB/ReportFilter.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@
33
#include <vcl.h>
44
#pragma hdrstop
55
#include <tchar.h>
6-
//---------------------------------------------------------------------------
76
USEFORM("uMainForm.cpp", MainForm);
7+
USEFORM("uData.cpp", DataModule1);
8+
9+
//---------------------------------------------------------------------------
810
//---------------------------------------------------------------------------
911
int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
1012
{
@@ -13,6 +15,7 @@ int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
1315
Application->Initialize();
1416
Application->MainFormOnTaskBar = true;
1517
Application->Title = "DevExpress Example - Filter Data Records in a Report";
18+
Application->CreateForm(__classid(TDataModule1), &DataModule1);
1619
Application->CreateForm(__classid(TMainForm), &MainForm);
1720
Application->Run();
1821
}

CPB/uData.cpp

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
//---------------------------------------------------------------------------
2+
3+
4+
#pragma hdrstop
5+
6+
#include "uData.h"
7+
//---------------------------------------------------------------------------
8+
#pragma package(smart_init)
9+
#pragma classgroup "Vcl.Controls.TControl"
10+
#pragma link "dxmdaset"
11+
#pragma link "cxClasses"
12+
#pragma link "dxBackend"
13+
#pragma link "dxBackend.ConnectionString.JSON"
14+
#pragma link "dxBackend.ConnectionString.JSON.DataSet"
15+
#pragma resource "*.dfm"
16+
TDataModule1 *DataModule1;
17+
//---------------------------------------------------------------------------
18+
__fastcall TDataModule1::TDataModule1(TComponent* Owner)
19+
: TDataModule(Owner)
20+
{
21+
}
22+
//---------------------------------------------------------------------------

CPB/uData.dfm

Lines changed: 320 additions & 0 deletions
Large diffs are not rendered by default.

CPB/uData.h

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
//---------------------------------------------------------------------------
2+
3+
#ifndef uDataH
4+
#define uDataH
5+
//---------------------------------------------------------------------------
6+
#include <System.Classes.hpp>
7+
#include "dxmdaset.hpp"
8+
#include <Data.DB.hpp>
9+
#include "cxClasses.hpp"
10+
#include "dxBackend.ConnectionString.JSON.DataSet.hpp"
11+
#include "dxBackend.ConnectionString.JSON.hpp"
12+
#include "dxBackend.hpp"
13+
//---------------------------------------------------------------------------
14+
class TDataModule1 : public TDataModule
15+
{
16+
__published: // IDE-managed Components
17+
TdxMemData *mdProducts;
18+
TIntegerField *mdProductsProductID;
19+
TWideStringField *mdProductsProductName;
20+
TWideStringField *mdProductsQuantityPerUnit;
21+
TSmallintField *mdProductsUnitsInStock;
22+
TIntegerField *mdProductsCategoryID;
23+
TWideStringField *mdProductsCategoryName;
24+
TDataSource *dsProducts;
25+
TdxBackendDataConnectionManager *dxReportDataConnectionManager;
26+
TdxBackendDataSetJSONConnection *NWindMemDataConnection;
27+
TdxBackendDataSetCollectionItem *NWindMemDataConnectionItem1;
28+
private: // User declarations
29+
public: // User declarations
30+
__fastcall TDataModule1(TComponent* Owner);
31+
};
32+
//---------------------------------------------------------------------------
33+
extern PACKAGE TDataModule1 *DataModule1;
34+
//---------------------------------------------------------------------------
35+
#endif

0 commit comments

Comments
 (0)