Componentes.Terceros.RemObj.../official/5.0.24.615/Data Abstract for Delphi/Samples/Calculated Fields/CalcFieldsService_Impl.pas

81 lines
2.3 KiB
ObjectPascal

unit CalcFieldsService_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. }
{----------------------------------------------------------------------------}
interface
uses
{vcl:} Classes, SysUtils,
{RemObjects:} uROClientIntf, uROTypes, uROServer, uROServerIntf, uROSessions,
{Ancestor Implementation:} DataAbstractService_Impl,
{Used RODLs:} DataAbstract4_Intf,
{Generated:} CalcFieldsLibrary_Intf, uDAScriptingProvider,
uDABusinessProcessor, uDAInterfaces, uDAClasses, uDADataStreamer,
uDABin2DataStreamer;
const
{ Dataset names for Schema }
ds_Customers = 'Customers';
type
{ TCalcFieldsService }
TCalcFieldsService = class(TDataAbstractService, ICalcFieldsService)
DataStreamer: TDABin2DataStreamer;
Schema: TDASchema;
DataDictionary: TDADataDictionary;
bpCustomers: TDABusinessProcessor;
procedure DataStreamerWriteFieldValue(const aField: TDAField;
var Value: Variant);
procedure DataAbstractServiceCreate(Sender: TObject);
private
fNextCalcValue: Integer;
protected
{ ICalcFieldsService methods }
function GetServiceVersion: string;
end;
implementation
{$R *.dfm}
uses
{Generated:} CalcFieldsLibrary_Invk, CalcFields_ServerData;
procedure Create_CalcFieldsService(out anInstance: IUnknown);
begin
anInstance := TCalcFieldsService.Create(nil);
end;
{ CalcFieldsService }
function TCalcFieldsService.GetServiceVersion: string;
begin
end;
procedure TCalcFieldsService.DataStreamerWriteFieldValue(
const aField: TDAField; var Value: Variant);
begin
if (aField.Name = 'ServerCalculated') then begin
Value := fNextCalcValue;
Inc(fNextCalcValue);
end;
end;
procedure TCalcFieldsService.DataAbstractServiceCreate(Sender: TObject);
begin
inherited;
fNextCalcValue := 100;
end;
initialization
TROClassFactory.Create('CalcFieldsService', Create_CalcFieldsService, TCalcFieldsService_Invoker);
finalization
end.