Componentes.Terceros.RemObj.../internal/5.0.35.741/1/RemObjects SDK for Delphi/Samples/DataSnap/DataSnapClientMain.pas
2009-02-28 17:16:16 +00:00

113 lines
3.2 KiB
ObjectPascal

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)
RODataSnapConnection1: TRODataSnapConnection;
HTTPChannel: TROWinInetHTTPChannel;
ROBinMessage: TROBinMessage;
cdsCustomers: TClientDataSet;
dsCustomers: TDataSource;
cdsCategories: TClientDataSet;
dsCategories: TDataSource;
ConnectButton: TBitBtn;
DisconnectButton: TBitBtn;
ApplyUpdatesButton: TBitBtn;
Panel1: TPanel;
gProducts: TDBGrid;
gCustomers: TDBGrid;
Splitter1: TSplitter;
RODataSnapConnection2: TRODataSnapConnection;
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;
cdsCategories.Active := true;
DisconnectButton.Visible := true;
ConnectButton.Visible := false;
end;
procedure TDataSnapClientMainForm.DisconnectButtonClick(Sender: TObject);
begin
cdsCustomers.Active := false;
cdsCategories.Active := false;
DisconnectButton.Visible := false;
ConnectButton.Visible := true;
ApplyUpdatesButton.Enabled := false;
end;
procedure TDataSnapClientMainForm.ApplyUpdatesButtonClick(Sender: TObject);
begin
cdsCustomers.ApplyUpdates(-1);
cdsCategories.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 (cdsCategories.ChangeCount > 0);
end;
end.