Componentes.Terceros.RemObj.../internal/5.0.23.613/1/Data Abstract for Delphi/Samples/Fetch/FetchService_Impl.pas
david d99a44999f - Modificación del paquete RemObjects_Core_D10 para que sea un paquete de runtime/designtime (antes era designtime sólo)
- Recompilación en Delphi10 de todos los paquetes de RO para generar las DCU's en Lib\D10

git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.RemObjects@7 b6239004-a887-0f4b-9937-50029ccdca16
2007-09-10 13:36:58 +00:00

75 lines
2.2 KiB
ObjectPascal

unit FetchService_Impl;
{----------------------------------------------------------------------------}
{ This unit was automatically generated by the RemObjects SDK after reading }
{ the RODL file associated with this project . }
{ }
{ This is where you are supposed to code the implementation of your objects. }
{----------------------------------------------------------------------------}
{$I Remobjects.inc}
interface
uses
{vcl:} Classes, SysUtils,
{RemObjects:} uROXMLIntf, uROClientIntf, uROTypes, uROServer, uROServerIntf, uROSessions,
{Required:} uRORemoteDataModule,
{Ancestor Implementation:} DataAbstractService_Impl,
{Used RODLs:} DataAbstract4_Intf,
{Generated:} FetchLibrary_Intf, uDADataStreamer, uDABin2DataStreamer,
uDAClasses, FetchServerData, uDAInterfaces;
type
{ TFetchService }
TFetchService = class(TDataAbstractService, IFetchService)
DataStreamer: TDABin2DataStreamer;
Schema: TDASchema;
private
protected
{ IFetchService methods }
function GetOrdersAndDetails(const StartOrderID: Integer; const EndOrderID: Integer): Binary;
end;
implementation
{$R *.dfm}
uses
{Generated:} FetchLibrary_Invk;
procedure Create_FetchService(out anInstance : IUnknown);
begin
anInstance := TFetchService.Create(nil);
end;
{ FetchService }
function TFetchService.GetOrdersAndDetails(const StartOrderID: Integer; const EndOrderID: Integer): Binary;
procedure ProcessDataset(aDataset: IDADataset);
begin
aDataset.ParamByName('StartingOrderID').AsInteger := StartOrderID;
aDataset.ParamByName('EndingOrderID').AsInteger := EndOrderID;
aDataset.Open;
DataStreamer.WriteDataset(aDataset, [woRows], -1);
end;
begin
result := Binary.Create;
DataStreamer.Initialize(result, aiWrite);
try
// writing orders
ProcessDataset(Schema.NewDataset(Connection, 'Orders'));
// writing order details
ProcessDataset(Schema.NewDataset(Connection, 'OrderDetails'));
finally
DataStreamer.Finalize;
end;
end;
initialization
TROClassFactory.Create('FetchService', Create_FetchService, TFetchService_Invoker);
finalization
end.