Missing THYROFactory/THYServicePluginFactory when adding Hydra RO service plugin

When adding a new HY RO service plugin the THYROFactory/THYServicePluginFactory line is missing from the _Impl unit.
Usually it looks like this:

initialization
  fClassFactory := TROClassFactory.Create('svcAdminWL3', {$IFDEF FPC}@{$ENDIF}Create_svcAdminWL3, TsvcAdminWL3_Invoker);
  // RegisterForZeroConf(fClassFactory,'_svcAdminWL3_rosdk._tcp.');
  THYROFactory.Create(HInstance, fClassFactory);

finalization
  UnRegisterClassFactory(fClassFactory);
  fClassFactory := nil;

Is this not needed anymore?

The DLL is seemingly loaded correctly and when I use TDADesignTimeCall component, the new service is shown.

Delphi 10.3 Update 2
Hydra 6.2.103.1251
DataAbstract 10.0.0.1481

Birger,

to clarify, there’s no problem, all seems to be working correctly for you, you just want to be sure the change is intended?

I’m asking because Eugene, who’ll know the definitive answer, will be off for a couple of weeks.

It seems to be working when I run the RODAHY server, and the DLL gets loaded.
And in designtime I can lookup the service with the TDADesignTimeCall.
But I have not tested it completely yet.

So, until now I’m fine, but I will let you know if I encounter any issues.

And, it would be nice to know if it is an intended change, once Eugene gets back.

1 Like

Hi,

can you attach the generated _impl file, pls?
you can remove all logic from service method. it doesn’t matter.

Edit: you can drop email to support@ for keeping privacy

unit svcMainPROJEKT_Impl;

// ----------------------------------------------------------------------
//  This file was automatically generated by Remoting SDK from a
//  RODL file downloaded from a server or associated with this project.
// 
//  This is where you are supposed to code the implementation of your objects.
// ----------------------------------------------------------------------

{$I RemObjects.inc}

interface

uses
  {$IFDEF DELPHIXE2UP}System.SysUtils{$ELSE}SysUtils{$ENDIF},
  {$IFDEF DELPHIXE2UP}System.Classes{$ELSE}Classes{$ENDIF},
  {$IFDEF DELPHIXE2UP}System.TypInfo{$ELSE}TypInfo{$ENDIF},
  uROEncoding,
  uROXMLIntf,
  uROClientIntf,
  uROClasses,
  uROTypes,
  uROServer,
  uROServerIntf,
  uROSessions,
  uRORemoteDataModule,
  uDAInterfaces,
  uDAServerInterfaces,
  uDADelta,
  uDABusinessProcessor,
  uDASchema,
  svcBaseWL3_Impl,
  DataAbstract4_Intf,
  libBaseWL3_Intf,
  libWL3_Intf,
  libPROJEKT_Intf;

const __ServiceName = 'svcMainPROJEKT';
type
  { Forward declarations }
  TsvcMainPROJEKT = class;

  TsvcMainPROJEKT = class(TsvcBaseWL3, IsvcMainPROJEKT)
  end;

implementation

{$IFDEF DELPHIXE2UP}
  {%CLASSGROUP 'System.Classes.TPersistent'}
{$ENDIF}
{$IFNDEF FPC}
  {$R *.dfm}
{$ENDIF}
{$IFDEF FPC}
  {$R *.lfm}
{$ENDIF}

uses
  DataAbstract4_Invk,
  libBaseWL3_Invk,
  libWL3_Invk,
  libPROJEKT_Invk;

var fClassFactory_svcMainPROJEKT: IROClassFactory;

procedure Create_svcMainPROJEKT(out anInstance: IInterface);
begin
  anInstance := TsvcMainPROJEKT.Create(nil);
end;

initialization
  fClassFactory_svcMainPROJEKT := TROClassFactory.Create(__ServiceName, {$IFDEF FPC}@{$ENDIF}Create_svcMainPROJEKT, TsvcMainPROJEKT_Invoker);
  // RegisterForZeroConf(fClassFactory_svcMainPROJEKT, '_svcMainPROJEKT_rosdk._tcp.');
finalization
  UnRegisterClassFactory(fClassFactory_svcMainPROJEKT);
  fClassFactory_svcMainPROJEKT := nil;
end.
library modProjektWL3;

uses
  uROCOMInit,
  SysUtils,
  Classes,
  hcModProjektWL3Controller in 'hcModProjektWL3Controller.pas' {ModProjektWL3Controller: THYModuleController},
  libPROJEKT_Intf in 'libPROJEKT_Intf.pas',
  libPROJEKT_Invk in 'libPROJEKT_Invk.pas',
  svcMainPROJEKT_Impl in 'svcMainPROJEKT_Impl.pas',
  svcBaseLibWL3_Impl in '..\..\WinLog35\source\shared\svcBaseLibWL3_Impl.pas' {svcBaseLibWL3: TDataAbstractService},
  svcBaseWL3_Impl in '..\..\WinLog35\source\shared\svcBaseWL3_Impl.pas' {svcBaseWL3: TDataAbstractService},
  DASchemaClient_Intf in 'DASchemaClient_Intf.pas',
  DASchemaServer_Intf in 'DASchemaServer_Intf.pas';

{#ROGEN:modProjektWL3.rodl} // RemObjects: Careful, do not remove!
{$R RODLFile.res}

{#HYDRAMODULE}
{$R *.res}

begin
end.

Thanks, logged as bugs://85040

bugs://85040 got closed with status fixed.

Hi,

fix will be in RO/DA .1491