Componentes.Terceros.RemObj.../internal/5.0.29.665/1/Data Abstract for Delphi/Samples/Calculated Fields/CalcFieldsService_Impl.pas

76 lines
2.2 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;
bpCustomers: TDABusinessProcessor;
Schema: TDASchema;
DataDictionary: TDADataDictionary;
procedure DataStreamerWriteFieldValue(const aField: TDAField;
var Value: Variant);
procedure DataAbstractServiceCreate(Sender: TObject);
private
fNextCalcValue: Integer;
protected
end;
implementation
{$R *.dfm}
uses
{Generated:} CalcFieldsLibrary_Invk, CalcFields_ServerData;
procedure Create_CalcFieldsService(out anInstance: IUnknown);
begin
anInstance := TCalcFieldsService.Create(nil);
end;
{ CalcFieldsService }
procedure TCalcFieldsService.DataStreamerWriteFieldValue(
const aField: TDAField; var Value: Variant);
begin
if SameText(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.