uses
uGetUserName, uSelectEmails, uGridTableData;
unit uMainForm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls;
type
TfrmMain = class(TForm)
labelUserName: TLabel;
btnGetUserName: TBitBtn;
editEmailTo: Edit;
btnGetEmailTo: TBitBtn;
btnShowGridData: TBitBtn;
procedure btnGetUserNameClick(Sender: TObject);
procedure btnGetEmailToClick(Sender: TObject);
procedure btnShowGridDataClick(Sender: TObject);
end;
var
frmMain: TfrmMain;
implementation
uses uGetUserName, uSelectEmails, uGridTableData;
{$R *.dfm }
procedure TfrmMain.btnGetUserNameClick(Sender: TObject);
var
frm: TfrmGetUserName;
begin
frm := TfrmGetUserName.Create(Self);
try
if frm.ShowModal = mrOk then
labelUserName.Caption := frm.editUserName.Text;
finally
FreeAndNil(frm);
end;
end;
procedure TfrmMain.btnGetEmailToClick(Sender: TObject);
var
frm: TfrmGetEmailTo;
begin
frm := TfrmGetEmailTo.Create(Self);
try
if frm.ShowModal = mrOk then
editEmailTo.Text := frm.EmailTo;
finally
FreeAndNil(frm);
end;
end;
procedure TfrmMain.btnShowGridDataClick(Sender: TObject);
var
frm: TfrmShowGridData;
begin
frm := TfrmShowGridData.Create(Self);
try
frm.TableName := 'ARTICLES';
frm.ShowModal;
finally
FreeAndNil(frm);
end;
end;
end.
implementation
uses uLibrary;
unit uLibrary;
interface
uses
uGetUserName,
uSelectEmails,
uGridTableData;
type
TfrmGetUserName = class(uGetUserName.TfrmGetUserName);
TfrmGetEmailTo = class(uSelectEmails.TfrmGetEmailTo);
TfrmShowGridData = class(uGridTableData.TfrmShowGridData);
implementation
end.
Have a question about something in this article? You can receive help directly from the article author. Sign up for a free trial to get started.
Comments (5)
Commented:
Commented:
Author
Commented:it reduces the list of units used in the main unit
but they are used in other places
1 advantage if you have lots of common units in different projects
is when using a unit like uLibrary for each project
you can make it point to a different unit
let's say you have a unit uCustomer
this could be the same layout in 90% of your apps
but you may want to need something a tad different in the other 10%
simply creating a copy of the uCustomer unit,
making changes to it and then changing the uLibrary unit can solve this
this is also a possibilty if you don't have a versioning system
if you want to create a branch for some units, you could use this system too
Commented:
does delphi has a similar feature as namespace in C++ ?
Commented: