Create .so library in Linux

Hi,

I would like to start deploying my services on linux. I use Delphi (currently I’m working with version 10.3.3 and 10.4) and, on the server side, I make extensive use of hydra RO Service plugins. There is the possibility to compile and manage these plugins at runtime even on Linux? It would be great to be able to create non-visual and RO Services with Hydra

Best regards

Claudio,

I’m afraid Hydra is currently Windows only, as it depends on COM for all the interior between hosts and plugins.

Many thank Marc.

yes I understand.

What I plan to do is to use code-first and hydra for windows. I have to make the same service compatible with Linux (I have different customers who use server windows or linux) so, for Linux, I create a new project and I import all code-first services. However, I should find a way to make the availability of the service dynamic on the client. Even with a configuration file tell the service to make available only the services that are active and the others (even if linked) do not show them. With Hydra it’s easy. I don’t distribute the DLL that contains the service but on linux since I have to have a complete project how could I do it?

Thank you very much and best regards

Hello

You can implement Hydra-like approach by dynamically loading .so files and reusing THYRODLReader for RODL management purposes

Hi Antonk

thank you very much. Have you a little sample?

Thank you very much and best regrads

Hi,

you can drop THYRODLReader and link it with message (message.RODLReader property).

since you haven’t any hydra module manager here, you need to load/merge subrodl manually.
you can do it in THYRODLReader.OnAfterReadRODL event.
check code inside if (fModuleManager<>NIL) then begin block in THYRODLReader.DoReadRODLResource method.

P.S. you also need to replace THYModuleManager with THYBaseModuleManager for removing dependance from VCL units. I will log it.

1 Like

Thanks, logged as bugs://84766

bugs://84766 got closed with status fixed.

Hi EvgenyK

what does fixed mean? Will indicate the possibility of developing service plugins (and NonVisual plugins) on Linux will be integrated in the next version of Hydra with the workaround you indicated?

Will there be an example?

Best Regards

Hi,

THYRODLReader class doesn’t need units from Hydra_VCL package anymore for compiling, i.e. it now uses THYBaseModuleManager instead of THYModuleManager.
also the Handle property was added to THYBaseModule and removed from descendants of this class. as a result, THYRODLReader can be used in VCL or FMX applications.

not yet. it still windows compatible only because .net support (uHYCLRHelpers & uHYCLRWrappers units) is used in uses of uHYBaseModuleManager.pas.

1 Like