Componentes.Terceros.RemObj.../internal/5.0.23.613/1/RemObjects SDK for Delphi/Samples/DataSnap/DataSnapClientMain.pas

113 lines
3.2 KiB
ObjectPascal
Raw Normal View History

unit DataSnapClientMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uROClient, uROBINMessage, uROSOAPMessage, DB,
DBClient, uROWinInetHttpChannel,
uRODataSnapConnection, StdCtrls, Buttons, Grids, DBGrids, ExtCtrls;
type
TDataSnapClientMainForm = class(TForm)
RODataSnapConnection: TRODataSnapConnection;
HTTPChannel: TROWinInetHTTPChannel;
ROBinMessage: TROBinMessage;
cdsCustomers: TClientDataSet;
dsCustomers: TDataSource;
cdsProducts: TClientDataSet;
dsProducts: TDataSource;
ConnectButton: TBitBtn;
DisconnectButton: TBitBtn;
ROSOAPMessage: TROSOAPMessage;
ApplyUpdatesButton: TBitBtn;
Panel1: TPanel;
gProducts: TDBGrid;
gCustomers: TDBGrid;
Splitter1: TSplitter;
procedure ConnectButtonClick(Sender: TObject);
procedure DisconnectButtonClick(Sender: TObject);
procedure cdsCustomersBeforeApplyUpdates(Sender: TObject;
var OwnerData: OleVariant);
procedure ApplyUpdatesButtonClick(Sender: TObject);
procedure cdsCustomersBeforeGetParams(Sender: TObject;
var OwnerData: OleVariant);
procedure cdsCustomersBeforeGetRecords(Sender: TObject;
var OwnerData: OleVariant);
procedure cdsCustomersBeforeRowRequest(Sender: TObject;
var OwnerData: OleVariant);
procedure OnEnableApplyUpdates(DataSet: TDataSet);
private
{ Private declarations }
public
{ Public declarations }
end;
var
DataSnapClientMainForm: TDataSnapClientMainForm;
implementation
{$R *.dfm}
procedure TDataSnapClientMainForm.ConnectButtonClick(Sender: TObject);
begin
HTTPChannel.TargetURL := 'http://localhost:81/bin';
//HTTPChannel.TargetURL := 'http://localhost/isapi/DataSNapIsapiServer.dll/bin';
cdsCustomers.Active := true;
cdsProducts.Active := true;
DisconnectButton.Visible := true;
ConnectButton.Visible := false;
end;
procedure TDataSnapClientMainForm.DisconnectButtonClick(Sender: TObject);
begin
cdsCustomers.Active := false;
cdsProducts.Active := false;
DisconnectButton.Visible := false;
ConnectButton.Visible := true;
ApplyUpdatesButton.Enabled := false;
end;
procedure TDataSnapClientMainForm.ApplyUpdatesButtonClick(Sender: TObject);
begin
cdsProducts.ApplyUpdates(-1);
cdsCustomers.ApplyUpdates(-1);
ApplyUpdatesButton.Enabled := false;
end;
procedure TDataSnapClientMainForm.cdsCustomersBeforeApplyUpdates(Sender: TObject;
var OwnerData: OleVariant);
begin
OwnerData := 'BeforeApplyUpdates';
end;
procedure TDataSnapClientMainForm.cdsCustomersBeforeGetParams(Sender: TObject;
var OwnerData: OleVariant);
begin
OwnerData := 'BeforeGetParams';
end;
procedure TDataSnapClientMainForm.cdsCustomersBeforeGetRecords(Sender: TObject;
var OwnerData: OleVariant);
begin
OwnerData := 'BeforeGetRecords';
end;
procedure TDataSnapClientMainForm.cdsCustomersBeforeRowRequest(Sender: TObject;
var OwnerData: OleVariant);
begin
OwnerData := 'BeforeRowRequest';
end;
procedure TDataSnapClientMainForm.OnEnableApplyUpdates(DataSet: TDataSet);
begin
ApplyUpdatesButton.Enabled := (cdsCustomers.ChangeCount > 0) or (cdsProducts.ChangeCount > 0);
end;
end.