Hydra vNext: New Features - Discussion

Somewhat confused by its name

Is it for cross platform? Is there a “not so simple” module manager?

Also when is this new version available? I am just about to start a new project, and I think I should use this new version.

this component is designed for loading non-visual cross-platform plugins (FMX/VCL/None/.NET/.Java).

it has this method:

procedure CreateNonVisualPlugin(
                 const PluginName: string; 
                 out anInstance: IHYCrossPlatformNonVisualPlugin);

we usually create new builds at Wednesday

1 Like

So THYModuleManager can handle everything, while THYSimpleModuleManager for nonVisual only, right?

Can you give me some heads up - What do you mean by “none”?

  • THYModuleManager - the existing VCL module manager, full support of VCL interfaces like IHYVCLMenuController, etc
  • THYSimpleModuleManager - can handle only nonVisual plugins. designed for supporting cross-platform interfaces (IHYCrossPlatform*) only.
  • THYVCLSimpleModuleManager - can handle both nonVisual and Visual plugins. designed for supporting cross-platform interfaces (IHYCrossPlatform*) only. doesn’t support VCL interfaces like IHYVCLMenuController, etc.

non-UI (i.e. console) applications has framework type None, i.e. they don’t use VCL or FMX frameworks.
in .dproj they have:

1 Like

I see. Maybe I am asking a dumb quesion (that you already thought over) - Why not just directly calling it “THYNonVisualModuelManager”?

Originally, it was planned to support visual plugins via special components (like THYVCLVisualSupport/THYFMXVisualSupport) that could be linked to property of THYSimpleModuleManager.
later plans was changed but this name wasn’t changed.

nowadays we have THYSimpleModuleManager as the ancestor

  • THYVCLSimpleModuleManager
  • THYFMXModuleManager
  • THYROSimpleModuleManager.

Thank you.

For end user’s understanding, would it be correct to say:

THYSimpleModuleManager - for cross-platform non-visual plugins
THYVCLSimpleModuleManager - for both VCL visual and non-visual plugins. Visual plugins does NOT support IHYVCLMenuController

THYVCLModuleManager - for both VCL visual and non-visual plugins. Visual plugins support IHYVCLMenuController

Still, as an end user (who wishes to understand the whole picture, not just following demos or relying on IDE wizards) - the word “simple” is not very self-evident, and can be really distracting or misleading, without consulting the documents.

‘simple’ here means that it is simplified version of existing THYModuleManager (VCL) w/o implementation of IHYVCLHost that supports of toolbars, menu, actions etc from plugins.

Given that - what visual elements does THYVCLSimpleModuleManager support? You mentioned that it supports both visual and nonVisual elements.

Just try to learn Hydra better

We have two supports:

  • cross-platform, on the IHYCrossPlatformVisualPlugin level - some basic things are supported. can be used w/o runtime packages.
  • full, on the IHYVCLVisualPlugin level. available only on VCL framework. host and plugin should be built with HY_VCL runtime package.

in most cases, a crossplatform support is enough for non-complicated applications.

Thank you! Looking forward to the new release. Is it going to be a preview or a formal major release?

1 Like

First upcoming new build will be a Preview.

you can start with current one. All your units will be migrated w/o any issues.
ModuleManager can be replaced manually later.

at least all hydra samples were migrated w/o any issues

1 Like

What is the benefits of loading com through Hydra?? It is nice but isn’t it a detour?

Cross-platform Hydra plugins already use COM internally. This feature exposes this more clearly and will allow to add support for additional plugin platforms.
For example, this is a screenshot of internal testing of a .NET 6 plugin running in a Delphi host: