Componentes.Terceros.RemObj.../internal/5.0.23.613/1/RemObjects SDK for Delphi/Samples/Variants/VariantsLibrary_Invk.pas

113 lines
4.5 KiB
ObjectPascal
Raw Normal View History

unit VariantsLibrary_Invk;
{----------------------------------------------------------------------------}
{ This unit was automatically generated by the RemObjects SDK after reading }
{ the RODL file associated with this project . }
{ }
{ Do not modify this unit manually, or your changes will be lost when this }
{ unit is regenerated the next time you compile the project. }
{----------------------------------------------------------------------------}
interface
uses
{vcl:} Classes,
{RemObjects:} uROServer, uROServerIntf, uROTypes, uROClientIntf,
{Generated:} VariantsLibrary_Intf;
type
TVariantsService_Invoker = class(TROInvoker)
private
protected
published
procedure Invoke_EchoVariant(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
procedure Invoke_EchoComplexObject(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
procedure Invoke_EchoVariantArray(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
end;
implementation
uses
{RemObjects:} uRORes, uROClient;
{ TVariantsService_Invoker }
procedure TVariantsService_Invoker.Invoke_EchoVariant(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ procedure EchoVariant(const InputVariant: Variant; out OutputVariant: Variant); }
var
InputVariant: Variant;
OutputVariant: Variant;
begin
try
__Message.Read('InputVariant', TypeInfo(Variant), InputVariant, []);
(__Instance as IVariantsService).EchoVariant(InputVariant, OutputVariant);
__Message.InitializeResponseMessage(__Transport, 'VariantsLibrary', 'VariantsService', 'EchoVariantResponse');
__Message.Write('OutputVariant', TypeInfo(Variant), OutputVariant, []);
__Message.Finalize;
finally
end;
end;
procedure TVariantsService_Invoker.Invoke_EchoComplexObject(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ procedure EchoComplexObject(const InComplexObject: TComplexObject; out OutComplexObject: TComplexObject); }
var
InComplexObject: VariantsLibrary_Intf.TComplexObject;
OutComplexObject: VariantsLibrary_Intf.TComplexObject;
__lObjectDisposer: TROObjectDisposer;
begin
InComplexObject := nil;
OutComplexObject := nil;
try
__Message.Read('InComplexObject', TypeInfo(VariantsLibrary_Intf.TComplexObject), InComplexObject, []);
(__Instance as IVariantsService).EchoComplexObject(InComplexObject, OutComplexObject);
__Message.InitializeResponseMessage(__Transport, 'VariantsLibrary', 'VariantsService', 'EchoComplexObjectResponse');
__Message.Write('OutComplexObject', TypeInfo(VariantsLibrary_Intf.TComplexObject), OutComplexObject, []);
__Message.Finalize;
finally
__lObjectDisposer := TROObjectDisposer.Create(__Instance);
try
__lObjectDisposer.Add(InComplexObject);
__lObjectDisposer.Add(OutComplexObject);
finally
__lObjectDisposer.Free();
end;
end;
end;
procedure TVariantsService_Invoker.Invoke_EchoVariantArray(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ procedure EchoVariantArray(const InArray: TVariantArray; out OutArray: TVariantArray); }
var
InArray: VariantsLibrary_Intf.TVariantArray;
OutArray: VariantsLibrary_Intf.TVariantArray;
__lObjectDisposer: TROObjectDisposer;
begin
InArray := nil;
OutArray := nil;
try
__Message.Read('InArray', TypeInfo(VariantsLibrary_Intf.TVariantArray), InArray, []);
(__Instance as IVariantsService).EchoVariantArray(InArray, OutArray);
__Message.InitializeResponseMessage(__Transport, 'VariantsLibrary', 'VariantsService', 'EchoVariantArrayResponse');
__Message.Write('OutArray', TypeInfo(VariantsLibrary_Intf.TVariantArray), OutArray, []);
__Message.Finalize;
finally
__lObjectDisposer := TROObjectDisposer.Create(__Instance);
try
__lObjectDisposer.Add(InArray);
__lObjectDisposer.Add(OutArray);
finally
__lObjectDisposer.Free();
end;
end;
end;
end.