unit ServiceMethods_ServerMain; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, uROPoweredByRemObjectsButton, uDAPoweredByDataAbstractButton, StdCtrls, SyncObjs, uDAEngine, uDAADODriver, uDADriverManager, uDAClasses, uROClient, uROBinMessage, uROServer, uROIndyTCPServer, uROIndyHTTPServer, ExtCtrls; type TServiceMethods_ServerMainForm = class(TForm) Memo: TMemo; ConnectionManager: TDAConnectionManager; DriverManager: TDADriverManager; ADODriver: TDAADODriver; Server: TROIndyHTTPServer; Message: TROBinMessage; GroupBox1: TGroupBox; cbAfterReleaseConnection: TCheckBox; cbAfterProcessDeltas: TCheckBox; cbAfterGetDatasetSchema: TCheckBox; cbAfterGetDatasetData: TCheckBox; cbAfterExecuteCommand: TCheckBox; cbAfterAcquireConnection: TCheckBox; cbBeforeReleaseConnection: TCheckBox; cbBeforeProcessDeltas: TCheckBox; cbBeforeGetDatasetSchema: TCheckBox; cbBeforeGetDatasetData: TCheckBox; cbBeforeExecuteCommand: TCheckBox; cbBeforeAcquireConnection: TCheckBox; cbValidateCommandExecution: TCheckBox; cbUpdateDataRollBackTransaction: TCheckBox; cbUpdateDataCommitTransaction: TCheckBox; cbUpdateDataBeginTransaction: TCheckBox; cbProcessDeltasError: TCheckBox; cbGetSchemaAsXMLEvent: TCheckBox; cbValidateDatasetAccess: TCheckBox; cbValidateDirectSQLAccess: TCheckBox; cbAcquireConnectionFailure: TCheckBox; GroupBox2: TGroupBox; cbProcessDeltasErrorRaise: TCheckBox; cbProcessDeltasWithoutUpdateRules: TCheckBox; cbAllowExecuteCommands: TCheckBox; cbAllowWhereSQL: TCheckBox; cbAllowExecuteSQL: TCheckBox; cbAllowSchemaAccess: TCheckBox; cbAllowDataAccess: TCheckBox; cbAcquireConnection: TCheckBox; CheckAllOptionsButton: TButton; CheckNoneOptionsButton: TButton; CheckAllEventsButton: TButton; CheckNoneEventsButton: TButton; Panel1: TPanel; DAPoweredByDataAbstractButton2: TDAPoweredByDataAbstractButton; ClearLogButton: TButton; cbAllowDynamicSelect: TCheckBox; cbAllowDynamicWhere: TCheckBox; cbAllowUpdates: TCheckBox; cbAutoCreateBusinessProcessors: TCheckBox; cbBusinessProcessorAutoCreated: TCheckBox; procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure ClearLogButtonClick(Sender: TObject); procedure CheckAllOptionsButtonClick(Sender: TObject); procedure CheckNoneOptionsButtonClick(Sender: TObject); procedure CheckAllEventsButtonClick(Sender: TObject); procedure CheckNoneEventsButtonClick(Sender: TObject); private { Private declarations } FcriticalSection: TCriticalSection; procedure ChangeOptions(Mode: Boolean); procedure ChangeEvent(Mode: Boolean); public { Public declarations } procedure Log(Str: string); end; var ServiceMethods_ServerMainForm: TServiceMethods_ServerMainForm; implementation {$R *.dfm} { TServiceMethods_ServerMainForm } procedure TServiceMethods_ServerMainForm.Log(Str: string); begin FcriticalSection.Enter; try Memo.Lines.Add(Str); finally FcriticalSection.Leave; end; end; procedure TServiceMethods_ServerMainForm.FormCreate(Sender: TObject); begin FcriticalSection := TCriticalSection.Create; Server.Active := True; end; procedure TServiceMethods_ServerMainForm.FormDestroy(Sender: TObject); begin FcriticalSection.Free; end; procedure TServiceMethods_ServerMainForm.ClearLogButtonClick( Sender: TObject); begin FcriticalSection.Enter; try Memo.Lines.Clear; finally FcriticalSection.Leave; end; end; procedure TServiceMethods_ServerMainForm.CheckAllOptionsButtonClick(Sender: TObject); begin ChangeOptions(True); end; procedure TServiceMethods_ServerMainForm.ChangeOptions(Mode: Boolean); begin cbAllowSchemaAccess.Checked := Mode; cbAcquireConnection.Checked := Mode; cbAllowDataAccess.Checked := Mode; cbAllowWhereSQL.Checked := Mode; cbAllowExecuteCommands.Checked := Mode; cbAllowExecuteSQL.Checked := Mode; cbProcessDeltasWithoutUpdateRules.Checked := Mode; cbProcessDeltasErrorRaise.Checked := Mode; cbAllowDynamicSelect.Checked := Mode; cbAllowDynamicWhere.Checked := Mode; cbAllowUpdates.Checked := Mode; cbAutoCreateBusinessProcessors.Checked := Mode; end; procedure TServiceMethods_ServerMainForm.CheckNoneOptionsButtonClick( Sender: TObject); begin ChangeOptions(False); end; procedure TServiceMethods_ServerMainForm.ChangeEvent(Mode: Boolean); begin cbAfterReleaseConnection.Checked := Mode; cbAfterProcessDeltas.Checked := Mode; cbAfterGetDatasetSchema.Checked := Mode; cbAfterGetDatasetData.Checked := Mode; cbAfterExecuteCommand.Checked := Mode; cbAfterAcquireConnection.Checked := Mode; cbBeforeReleaseConnection.Checked := Mode; cbBeforeProcessDeltas.Checked := Mode; cbBeforeGetDatasetSchema.Checked := Mode; cbBeforeGetDatasetData.Checked := Mode; cbBeforeExecuteCommand.Checked := Mode; cbBeforeAcquireConnection.Checked := Mode; cbValidateCommandExecution.Checked := Mode; cbUpdateDataRollBackTransaction.Checked := Mode; cbUpdateDataCommitTransaction.Checked := Mode; cbUpdateDataBeginTransaction.Checked := Mode; cbProcessDeltasError.Checked := Mode; cbGetSchemaAsXMLEvent.Checked := Mode; cbValidateDatasetAccess.Checked := Mode; cbValidateDirectSQLAccess.Checked := Mode; cbAcquireConnectionFailure.Checked := Mode; cbBusinessProcessorAutoCreated.Checked := Mode; end; procedure TServiceMethods_ServerMainForm.CheckAllEventsButtonClick(Sender: TObject); begin ChangeEvent(True); end; procedure TServiceMethods_ServerMainForm.CheckNoneEventsButtonClick(Sender: TObject); begin ChangeEvent(False); end; end.