// // Created by the DataSnap proxy generator. // 24.02.2024 15:28:54 // unit fs02iopCln_03_ClnClasses; interface uses System.JSON, Data.DBXCommon, Data.DBXClient, Data.DBXDataSnap, Data.DBXJSON, Datasnap.DSProxy, System.Classes, System.SysUtils, Data.DB, Data.SqlExpr, Data.DBXDBReaders, Data.DBXCDSReaders, Data.DBXJSONReflect; type TServerMethods1Client = class(TDSAdminClient) private FEchoStringCommand: TDBXCommand; FReverseStringCommand: TDBXCommand; FFS_Scripts_ListCommand: TDBXCommand; FFS_Script_CommentCommand: TDBXCommand; FFS_Script_InfoCommand: TDBXCommand; FFS_Script_ParamsInCommand: TDBXCommand; FFS_Script_ParamsOutCommand: TDBXCommand; FFS_Script_ExecuteCommand: TDBXCommand; public constructor Create(ADBXConnection: TDBXConnection); overload; constructor Create(ADBXConnection: TDBXConnection; AInstanceOwner: Boolean); overload; destructor Destroy; override; //----------------------------------- //Методы по умолчанию //(можно использовать для тестирования) function EchoString(Value: string): string; function ReverseString(Value: string): string; //----------------------------------- //----------------------------------- //"Наши" методы... :-) //Список запрос на получение списка FS-скриптов function FS_Scripts_List: string; //FS-скрипт: запрос на получение комментария к скрипту function FS_Script_Comment(sMnemo: string): string; //FS-скрипт: запрос на получение описания скрипта function FS_Script_Info(sMnemo: string): string; //FS-скрипт: запрос на получение списка входных параметров FSI function FS_Script_ParamsIn(sMnemo: string): string; //FS-скрипт: запрос на получение списка вЫходных параметров FSI function FS_Script_ParamsOut(sMnemo: string): string; //FS-скрипт: запрос на выполнение скрипта function FS_Script_Execute(sMnemo: string; sParamsIn: string; sParamsOut: string): string; //----------------------------------- end; implementation //******************************************** //Методы, созданные по умолчанию (можно использовать для тестирования) function TServerMethods1Client.EchoString(Value: string): string; begin if FEchoStringCommand = nil then begin FEchoStringCommand := FDBXConnection.CreateCommand; FEchoStringCommand.CommandType := TDBXCommandTypes.DSServerMethod; FEchoStringCommand.Text := 'TServerMethods1.EchoString'; FEchoStringCommand.Prepare; end; FEchoStringCommand.Parameters[0].Value.SetWideString(Value); FEchoStringCommand.ExecuteUpdate; Result := FEchoStringCommand.Parameters[1].Value.GetWideString; end; function TServerMethods1Client.ReverseString(Value: string): string; begin if FReverseStringCommand = nil then begin FReverseStringCommand := FDBXConnection.CreateCommand; FReverseStringCommand.CommandType := TDBXCommandTypes.DSServerMethod; FReverseStringCommand.Text := 'TServerMethods1.ReverseString'; FReverseStringCommand.Prepare; end; FReverseStringCommand.Parameters[0].Value.SetWideString(Value); FReverseStringCommand.ExecuteUpdate; Result := FReverseStringCommand.Parameters[1].Value.GetWideString; end; //******************************************** //******************************************** //"Наши" методы... :-) function TServerMethods1Client.FS_Scripts_List: string; //Список запрос на получение списка FS-скриптов begin if FFS_Scripts_ListCommand = nil then begin FFS_Scripts_ListCommand := FDBXConnection.CreateCommand; FFS_Scripts_ListCommand.CommandType := TDBXCommandTypes.DSServerMethod; FFS_Scripts_ListCommand.Text := 'TServerMethods1.FS_Scripts_List'; FFS_Scripts_ListCommand.Prepare; end; FFS_Scripts_ListCommand.ExecuteUpdate; Result := FFS_Scripts_ListCommand.Parameters[0].Value.GetWideString; end; function TServerMethods1Client.FS_Script_Comment(sMnemo: string): string; //FS-скрипт: запрос на получение комментария к скрипту begin if FFS_Script_CommentCommand = nil then begin FFS_Script_CommentCommand := FDBXConnection.CreateCommand; FFS_Script_CommentCommand.CommandType := TDBXCommandTypes.DSServerMethod; FFS_Script_CommentCommand.Text := 'TServerMethods1.FS_Script_Comment'; FFS_Script_CommentCommand.Prepare; end; FFS_Script_CommentCommand.Parameters[0].Value.SetWideString(sMnemo); FFS_Script_CommentCommand.ExecuteUpdate; Result := FFS_Script_CommentCommand.Parameters[1].Value.GetWideString; end; function TServerMethods1Client.FS_Script_Info(sMnemo: string): string; //FS-скрипт: запрос на получение описания скрипта begin if FFS_Script_InfoCommand = nil then begin FFS_Script_InfoCommand := FDBXConnection.CreateCommand; FFS_Script_InfoCommand.CommandType := TDBXCommandTypes.DSServerMethod; FFS_Script_InfoCommand.Text := 'TServerMethods1.FS_Script_Info'; FFS_Script_InfoCommand.Prepare; end; FFS_Script_InfoCommand.Parameters[0].Value.SetWideString(sMnemo); FFS_Script_InfoCommand.ExecuteUpdate; Result := FFS_Script_InfoCommand.Parameters[1].Value.GetWideString; end; function TServerMethods1Client.FS_Script_ParamsIn(sMnemo: string): string; //FS-скрипт: запрос на получение списка входных параметров FSI begin if FFS_Script_ParamsInCommand = nil then begin FFS_Script_ParamsInCommand := FDBXConnection.CreateCommand; FFS_Script_ParamsInCommand.CommandType := TDBXCommandTypes.DSServerMethod; FFS_Script_ParamsInCommand.Text := 'TServerMethods1.FS_Script_ParamsIn'; FFS_Script_ParamsInCommand.Prepare; end; FFS_Script_ParamsInCommand.Parameters[0].Value.SetWideString(sMnemo); FFS_Script_ParamsInCommand.ExecuteUpdate; Result := FFS_Script_ParamsInCommand.Parameters[1].Value.GetWideString; end; function TServerMethods1Client.FS_Script_ParamsOut(sMnemo: string): string; //FS-скрипт: запрос на получение списка вЫходных параметров FSI begin if FFS_Script_ParamsOutCommand = nil then begin FFS_Script_ParamsOutCommand := FDBXConnection.CreateCommand; FFS_Script_ParamsOutCommand.CommandType := TDBXCommandTypes.DSServerMethod; FFS_Script_ParamsOutCommand.Text := 'TServerMethods1.FS_Script_ParamsOut'; FFS_Script_ParamsOutCommand.Prepare; end; FFS_Script_ParamsOutCommand.Parameters[0].Value.SetWideString(sMnemo); FFS_Script_ParamsOutCommand.ExecuteUpdate; Result := FFS_Script_ParamsOutCommand.Parameters[1].Value.GetWideString; end; function TServerMethods1Client.FS_Script_Execute(sMnemo: string; sParamsIn: string; sParamsOut: string): string; //FS-скрипт: запрос на выполнение скрипта begin if FFS_Script_ExecuteCommand = nil then begin FFS_Script_ExecuteCommand := FDBXConnection.CreateCommand; FFS_Script_ExecuteCommand.CommandType := TDBXCommandTypes.DSServerMethod; FFS_Script_ExecuteCommand.Text := 'TServerMethods1.FS_Script_Execute'; FFS_Script_ExecuteCommand.Prepare; end; FFS_Script_ExecuteCommand.Parameters[0].Value.SetWideString(sMnemo); FFS_Script_ExecuteCommand.Parameters[1].Value.SetWideString(sParamsIn); FFS_Script_ExecuteCommand.Parameters[2].Value.SetWideString(sParamsOut); FFS_Script_ExecuteCommand.ExecuteUpdate; Result := FFS_Script_ExecuteCommand.Parameters[3].Value.GetWideString; end; //******************************************** constructor TServerMethods1Client.Create(ADBXConnection: TDBXConnection); begin inherited Create(ADBXConnection); end; constructor TServerMethods1Client.Create(ADBXConnection: TDBXConnection; AInstanceOwner: Boolean); begin inherited Create(ADBXConnection, AInstanceOwner); end; destructor TServerMethods1Client.Destroy; begin FEchoStringCommand.DisposeOf; FReverseStringCommand.DisposeOf; FFS_Scripts_ListCommand.DisposeOf; FFS_Script_CommentCommand.DisposeOf; FFS_Script_InfoCommand.DisposeOf; FFS_Script_ParamsInCommand.DisposeOf; FFS_Script_ParamsOutCommand.DisposeOf; FFS_Script_ExecuteCommand.DisposeOf; inherited; end; end.