THYComModule

Overview

The THYComModule is a class that represents a COM module loaded by the Hydra framework.

Location

 

constructor Create (THYBaseModuleManager, string)  override    (declared in THYCrossPlatformModule)

Creates a new instance of the class.

constructor Create(aModuleManager: THYBaseModuleManager; aFileName: string)

Parameters:

  • aModuleManager: Owner
  • aFileName: Path to the plugin module file.

constructor Create (THYBaseModuleManager, string)  reintroduce overload

Creates a new instance of the class.

constructor Create(aModuleManager: THYBaseModuleManager; aGuid: string)

Parameters:

  • aModuleManager: module manager
  • aGuid: guid

CreateInstance  override

Creates a new instance of the plugin from Descriptor parameter

function CreateInstance(Descriptor: THYCrossPlatformPluginDescriptor): IInterface

Parameters:

  • Descriptor: Reference to a plugin descriptor.

CreateWrapper  protected    (declared in THYBaseModule)

Calls correspondent method in associated ModuleManager

function CreateWrapper(aPlugin: IDispatch; aDescriptor: THYPluginDescriptor): IInterface

Parameters:

  • aPlugin: Cross-platform plugin instance
  • aDescriptor: Plugin descriptor

CrossPlatformModuleController    (declared in THYCrossPlatformModule)

Returns the interface of the current module controller.

property CrossPlatformModuleController: IHYCrossPlatformModuleController read

ErrorNotHydraModule  protected    (declared in THYCrossPlatformModule)

procedure ErrorNotHydraModule

FileName    (declared in THYBaseModule)

Returns the file name of a loaded plugin module.

property FileName: string read

Handle    (declared in THYBaseModule)

Gets the handle of the loaded plugin. Can be unavailable for some plugins.

property Handle: THandle read

LoadAsUnmanagedModule  protected    (declared in THYCrossPlatformModule)

Allows to load specified function

procedure LoadAsUnmanagedModule(ExportFunctionName: string)

Parameters:

  • ExportFunctionName: Export function name

ModuleController    (declared in THYCrossPlatformModule)

Gets reference to the plugin module controller.

property ModuleController: THYSimpleModuleController read

Plugins    (declared in THYCrossPlatformModule)

Gets a reference to a plugin descriptor with specified index.

property Plugins[Index: Integer]: THYCrossPlatformPluginDescriptor read

PluginsCount    (declared in THYCrossPlatformModule)

Gets the number of plugins inside module.

property PluginsCount: Integer read

RegisterPlugin  protected virtual    (declared in THYCrossPlatformModule)

Registers a plugin descriptor in the module.

procedure RegisterPlugin(Plugin: THYCrossPlatformPluginDescriptor)

Parameters:

  • Plugin: Reference to the plugin descriptor.

ReleaseModule  protected virtual    (declared in THYCrossPlatformModule)

Releases resources of the loaded module.

procedure ReleaseModule

 

CrossPlatformModuleController    (declared in THYCrossPlatformModule)

Returns the interface of the current module controller.

property CrossPlatformModuleController: IHYCrossPlatformModuleController read

FileName    (declared in THYBaseModule)

Returns the file name of a loaded plugin module.

property FileName: string read

Handle    (declared in THYBaseModule)

Gets the handle of the loaded plugin. Can be unavailable for some plugins.

property Handle: THandle read

ModuleController    (declared in THYCrossPlatformModule)

Gets reference to the plugin module controller.

property ModuleController: THYSimpleModuleController read

Plugins    (declared in THYCrossPlatformModule)

Gets a reference to a plugin descriptor with specified index.

property Plugins[Index: Integer]: THYCrossPlatformPluginDescriptor read

PluginsCount    (declared in THYCrossPlatformModule)

Gets the number of plugins inside module.

property PluginsCount: Integer read

 

constructor Create (THYBaseModuleManager, string)  override    (declared in THYCrossPlatformModule)

Creates a new instance of the class.

constructor Create(aModuleManager: THYBaseModuleManager; aFileName: string)

Parameters:

  • aModuleManager: Owner
  • aFileName: Path to the plugin module file.

constructor Create (THYBaseModuleManager, string)  reintroduce overload

Creates a new instance of the class.

constructor Create(aModuleManager: THYBaseModuleManager; aGuid: string)

Parameters:

  • aModuleManager: module manager
  • aGuid: guid

CreateInstance  override

Creates a new instance of the plugin from Descriptor parameter

function CreateInstance(Descriptor: THYCrossPlatformPluginDescriptor): IInterface

Parameters:

  • Descriptor: Reference to a plugin descriptor.

CreateWrapper  protected    (declared in THYBaseModule)

Calls correspondent method in associated ModuleManager

function CreateWrapper(aPlugin: IDispatch; aDescriptor: THYPluginDescriptor): IInterface

Parameters:

  • aPlugin: Cross-platform plugin instance
  • aDescriptor: Plugin descriptor

ErrorNotHydraModule  protected    (declared in THYCrossPlatformModule)

procedure ErrorNotHydraModule

LoadAsUnmanagedModule  protected    (declared in THYCrossPlatformModule)

Allows to load specified function

procedure LoadAsUnmanagedModule(ExportFunctionName: string)

Parameters:

  • ExportFunctionName: Export function name

RegisterPlugin  protected virtual    (declared in THYCrossPlatformModule)

Registers a plugin descriptor in the module.

procedure RegisterPlugin(Plugin: THYCrossPlatformPluginDescriptor)

Parameters:

  • Plugin: Reference to the plugin descriptor.

ReleaseModule  protected virtual    (declared in THYCrossPlatformModule)

Releases resources of the loaded module.

procedure ReleaseModule