THYBaseModuleManager
Overview
The THYBaseModuleManager class is a base class that centralizes module management in the Hydra host appliations. This class allows to load plugin modules, create plugin instances and manage custom interfaces.
Location
- Unit: Hydra.Core.BaseModuleManager.pas
- Ancestry: TComponent | THYBaseModuleManager
AutoLoad
Gets or sets value that indicates whether module manager will automaticaly load plugin modules from ModulesToLoad
list.
property AutoLoad: Boolean read write
AutoLoading
Gets value that indicates whether module manager performing auto-load operation at the moment.
property AutoLoading: Boolean read
ComModuleCreator protected virtual abstract
Creates COM module
function ComModuleCreator(const aGuid: string; const aDefaultDomain: THYClrDomain): THYBaseModule
Parameters:
- aGuid: guid
- aDefaultDomain: ignored
CreateInstance (string): IInterface overload
Creates a new instance of the plugin with specified name.
function CreateInstance(const PluginName: string): IInterface
Parameters:
- PluginName: Name of the plugin instance.
CreateInstance (string, IInterface) overload virtual abstract
Creates a new instance of the plugin with specified name.
procedure CreateInstance(const PluginName: string; out anInstance: IInterface)
Parameters:
- PluginName: Name of the plugin instance.
- anInstance: Pointer to the new instance of the plugin.
CreateWrapper protected virtual abstract
Creates a new instance of the Delphi plugin wrapper from cross-paltform plugin instance.
function CreateWrapper(aPlugin: IDispatch; aDescriptor: THYPluginDescriptor): IInterface
Parameters:
- aPlugin: Cross-platform plugin instance
- aDescriptor: Plugin descriptor
CustomImplementer
Gets or sets reference to a object that will receive QueryInterface
calls if module manager unable to process them.
property CustomImplementer: IInterface read write
EnforceSecurity
Gets or sets value that indicates whether module manager will perform security checks when it creates a new instance of the plugin.
property EnforceSecurity: Boolean read write
FindModule
Searches for a plugin module with given name. If module can not be found returns nil.
function FindModule(const aFileName: string): THYBaseModule
Parameters:
- aFileName: Path to the plugin module file.
FMXModuleCreator protected virtual
Creates FMX module
function FMXModuleCreator(const aFileName: string; const aDefaultDomain: THYClrDomain): THYBaseModule
Parameters:
- aFileName: filename
- aDefaultDomain: ignored
GetModuleFileNames
Seaches for files with specified search pattern and fills aList
with file names.
function GetModuleFileNames(aList: TStrings; const aSearchPath: string): Integer
Parameters:
- aList: List that will be filled with file names.
- aSearchPath: Search pattern. For example
*.dll
.
HasPrivilege virtual
Checks whether specified privilages is supported by this application. This method will use associated UserProfile
or (if its not available) will trigger a OnPrivilageCheck
event.
function HasPrivilege(const aPrivilege: string): Boolean
Parameters:
- aPrivilege: User defined privilage.
JavaModuleCreator protected virtual abstract
Creates Java module
function JavaModuleCreator(const aFileName: string; const aDefaultDomain: THYClrDomain): THYBaseModule
Parameters:
- aFileName: filename
- aDefaultDomain: ignored
LoadComModule
Loads COM module
function LoadComModule(const aGuid: string): Integer
Parameters:
- aGuid: guid
LoadJavaModule
Loads Java module
function LoadJavaModule(const aFileName: string): Integer
Parameters:
- aFileName: Path to the plugin module.
LoadManagedModule (string, THYClrDomain): Integer overload
Loads managed module
function LoadManagedModule(const aFileName: string; const aDefaultDomain: THYClrDomain): Integer
Parameters:
- aFileName: Path to the plugin module.
- aDefaultDomain: Defines default domain.
LoadManagedModule (string, Boolean): Integer overload
Loads managed module
function LoadManagedModule(const aFileName: string; const InNewAppDomain: Boolean): Integer
Parameters:
- aFileName: Path to the plugin module.
- InNewAppDomain: Defines whether plugin module will be loaded in a separate AppDomain.
LoadModule (string, THYClrDomain): Integer overload
Loads a plugin module with specified path, type of the plugin will be detected automatically.
function LoadModule(const aFileName: string; const aDefaultDomain: THYClrDomain): Integer
Parameters:
- aFileName: Path to the plugin module.
- aDefaultDomain: Defines default domain. Affects only managed plugin modules.
LoadModule (string, Boolean): Integer overload
Loads a plugin module with specified path, type of the plugin will be detected automatically.
function LoadModule(const aFileName: string; const InNewAppDomain: Boolean): Integer
Parameters:
- aFileName: Path to the plugin module.
- InNewAppDomain: Defines whether plugin module will be loaded in a separate AppDomain. Affects only managed plugin modules.
LoadModules (THYClrDomain) overload
Loads all plugin modules from the ModulesToLoad
list, type of the plugins will be detected automatically.
procedure LoadModules(const aDefaultDomain: THYClrDomain)
Parameters:
- aDefaultDomain: Defines default domain. Affects only managed plugin modules.
LoadModules (array of string, THYClrDomain) overload
Loads all plugin modules from the ModulesToLoad
list, type of the plugins will be detected automatically.
procedure LoadModules(const aFileNames: array of string; const aDefaultDomain: THYClrDomain)
Parameters:
- aFileNames: Array of strings that holds file pathes.
- aDefaultDomain: Defines default domain. Affects only managed plugin modules.
LoadModules (array of string, Boolean) overload
Loads all plugin modules that fits into specified search pattern, type of the plugins will be detected automatically.
procedure LoadModules(const aFileNames: array of string; const InNewAppDomain: Boolean)
Parameters:
- aFileNames: Search pattern. For example
*.dll
. - InNewAppDomain: Defines whether plugin module will be loaded in a separate AppDomain. Affects only managed plugin modules.
LoadModules (TStrings, THYClrDomain) overload
Loads all plugin modules from the ModulesToLoad
list, type of the plugins will be detected automatically.
procedure LoadModules(const aFileNames: TStrings; const aDefaultDomain: THYClrDomain)
Parameters:
- aFileNames: List of strings that holds file pathes.
- aDefaultDomain: Defines default domain. Affects only managed plugin modules.
LoadModules (TStrings, Boolean) overload
Loads all plugin modules that fits into specified search pattern, type of the plugins will be detected automatically.
procedure LoadModules(const aFileNames: TStrings; const InNewAppDomain: Boolean)
Parameters:
- aFileNames: Search pattern. For example
*.dll
. - InNewAppDomain: Defines whether plugin module will be loaded in a separate AppDomain. Affects only managed plugin modules.
LoadModules (string, THYClrDomain): Integer overload
Loads all plugin modules from the ModulesToLoad
list, type of the plugins will be detected automatically.
function LoadModules(const aSearchPath: string; const aDefaultDomain: THYClrDomain): Integer
Parameters:
- aSearchPath: Search pattern. For example
*.dll
. - aDefaultDomain: Defines default domain. Affects only managed plugin modules.
LoadModules (string, Boolean): Integer overload
Loads all plugin modules that fits into specified search pattern, type of the plugins will be detected automatically.
function LoadModules(const aSearchPath: string; const InNewAppDomain: Boolean): Integer
Parameters:
- aSearchPath: Search pattern. For example
*.dll
. - InNewAppDomain: Defines whether plugin module will be loaded in a separate AppDomain. Affects only managed plugin modules.
LoadModules (Boolean) overload
Loads all plugin modules from the ModulesToLoad
list, type of the plugins will be detected automatically.
procedure LoadModules(const InNewAppDomain: Boolean)
Parameters:
- InNewAppDomain: Defines whether plugin module will be loaded in a separate AppDomain. Affects only managed plugin modules.
LoadSilverlightModule
Loads Silverlight module
function LoadSilverlightModule(const aFileName: string): Integer
Parameters:
- aFileName: Path to the plugin module.
LoadUnmanagedCrossPlatformModule
Loads unmanaged crossplatform module
function LoadUnmanagedCrossPlatformModule(const aFileName: string): Integer
Parameters:
- aFileName: Path to the plugin module.
LoadUnmanagedModule
Loads unmanaged module
function LoadUnmanagedModule(const aFileName: string): Integer
Parameters:
- aFileName: Path to the plugin module.
ManagedModuleCreator protected virtual abstract
Creates managed module
function ManagedModuleCreator(const aFileName: string; const aDefaultDomain: THYClrDomain): THYBaseModule
Parameters:
- aFileName: filename
- aDefaultDomain: Defines default domain
ModuleByFileName
Searches for a plugin module with given file name. If module can not be found throws EHYException.
function ModuleByFileName(const aFileName: string): THYBaseModule
Parameters:
- aFileName: File name of the plugin module.
ModuleCount
Gets number of the loaded plugin modules.
property ModuleCount: Integer read
Modules
Gets reference to a plugin module with specified index.
property Modules[Index: Integer]: THYBaseModule read
ModulesToLoad
List that holds pathes to plugin modules. This list can be used by AutoLoad
feature or by calling LoadModules
method.
property ModulesToLoad: TStrings read write
OnAfterCreateInstance
Gets or sets event handler that is fired after new plugin instance is created.
property OnAfterCreateInstance: THYAfterCreateInstanceEvent read write
delegate: procedure OnAfterCreateInstance(Sender: TObject; const PluginName: string; const anInstance: IInterface)
OnAfterLoadModule
Gets or sets event handler that fired after plugin module was loaded.
property OnAfterLoadModule: THYLoadedModuleEvent read write
delegate: procedure OnAfterLoadModule(Sender: TObject; Module: THYBaseModule)
OnAfterUnloadModule
Gets or sets event handler that fired after plugin module was unloaded.
property OnAfterUnloadModule: THYUnloadingModuleEvent read write
delegate: procedure OnAfterUnloadModule(Sender: TObject; const FileName: string)
OnBeforeCreateInstance
Gets or sets event handler that is fired before new plugin instance is created.
property OnBeforeCreateInstance: THYBeforeCreateInstanceEvent read write
delegate: procedure OnBeforeCreateInstance(Sender: TObject; const PluginName: string)
OnBeforeLoadModule
Gets or sets event handler that fired before plugin module is loaded.
property OnBeforeLoadModule: THYLoadingModuleEvent read write
delegate: procedure OnBeforeLoadModule(Sender: TObject; const FileName: string; var Continue: Boolean)
OnBeforeUnloadModule
Gets or sets event handler that fired before plugin module is loaded.
property OnBeforeUnloadModule: THYLoadedModuleEvent read write
delegate: procedure OnBeforeUnloadModule(Sender: TObject; Module: THYBaseModule)
OnGetAutomationObject
Gets or sets event handler that fired whenever Silverlight plugin requests for an instance of an object. Plese refer to this article for more information.
property OnGetAutomationObject: THYGetAutomationObjectEvent read write
delegate: procedure OnGetAutomationObject(Sender: TObject; const ProgId: string; const Flags: THYGetAutomationObjectFlags; var Disp: IDispatch)
OnLoadModuleError
Gets or sets event handler that is triggered when error occurs while plugin module being loaded.
property OnLoadModuleError: THYLoadModuleErrorEvent read write
delegate: procedure OnLoadModuleError(Sender: TObject; Error: Exception; var RaiseException: Boolean)
OnNotifySilverlightError
Gets or sets event handler that is triggered whenever error occurs in Silverlight plugin.
property OnNotifySilverlightError: THYNotifySilverlightErrorEvent read write
delegate: procedure OnNotifySilverlightError(Sender: TObject; const Error: string; const Source: string; const Line: Integer; const Column: Integer)
OnPrivilegeCheck
Gets or sets event handler that fired whenever privilage check is performed.
property OnPrivilegeCheck: THYCustomPrivilegeCheckEvent read write
delegate: procedure OnPrivilegeCheck(Sender: TObject; const aPrivilege: string; var HasPrivilege: Boolean)
QueryInterface protected reintroduce stdcall
function QueryInterface(const IID: TGUID; out Obj: ): HResult
Parameters:
- IID:
- Obj:
ResolveInterfacesToOwner
Gets or sets value which is used to indicate whether module manager will try to resolve interfaces from its owner or from CustomImplementer
.
property ResolveInterfacesToOwner: Boolean read write
SilverlightModuleCreator protected virtual abstract
Creates Silverlight module
function SilverlightModuleCreator(const aFileName: string; const aDefaultDomain: THYClrDomain): THYBaseModule
Parameters:
- aFileName: filename
- aDefaultDomain: ignored
TryLoadModule (string, THYClrDomain): Integer overload
Loads a plugin module with specified path, type of the plugin will be detected automatically. If succeeds returns index of the module otherwise -1.
function TryLoadModule(const aFileName: string; const aDefaultDomain: THYClrDomain): Integer
Parameters:
- aFileName: Path to the plugin module.
- aDefaultDomain: Defines whether plugin module will be loaded in a separate AppDomain. Affects only managed plugin modules.
TryLoadModule (string, Boolean): Integer overload
Loads a plugin module with specified path, type of the plugin will be detected automatically. If succeeds returns index of the module otherwise -1.
function TryLoadModule(const aFileName: string; const InNewAppDomain: Boolean): Integer
Parameters:
- aFileName: Path to the plugin module.
- InNewAppDomain: Defines whether plugin module will be loaded in a separate AppDomain. Affects only managed plugin modules.
UnloadModule (THYBaseModule) overload virtual abstract
Unloads specific plugin module
procedure UnloadModule(aModule: THYBaseModule)
Parameters:
- aModule: The plugin module
UnloadModule (Integer) overload
Unloads plugin module with specified index.
procedure UnloadModule(Index: Integer)
Parameters:
- Index: Index of the plugin module.
UnloadModule (string) overload
Unloads plugin module with specified file name.
procedure UnloadModule(const aFileName: string)
Parameters:
- aFileName: Index of the plugin module.
UnloadModules
Unloads all plugin modules.
procedure UnloadModules
UnmanagedCrossPlatformModuleCreator protected virtual abstract
Creates unmanaged cross platform module
function UnmanagedCrossPlatformModuleCreator(const aFileName: string; const aDefaultDomain: THYClrDomain): THYBaseModule
Parameters:
- aFileName: filename
- aDefaultDomain: ignored
VCLModuleCreator protected virtual
Creates VCL module
function VCLModuleCreator(const aFileName: string; const aDefaultDomain: THYClrDomain): THYBaseModule
Parameters:
- aFileName: filename
- aDefaultDomain: ignored
AutoLoad
Gets or sets value that indicates whether module manager will automaticaly load plugin modules from ModulesToLoad
list.
property AutoLoad: Boolean read write
AutoLoading
Gets value that indicates whether module manager performing auto-load operation at the moment.
property AutoLoading: Boolean read
CustomImplementer
Gets or sets reference to a object that will receive QueryInterface
calls if module manager unable to process them.
property CustomImplementer: IInterface read write
EnforceSecurity
Gets or sets value that indicates whether module manager will perform security checks when it creates a new instance of the plugin.
property EnforceSecurity: Boolean read write
ModuleCount
Gets number of the loaded plugin modules.
property ModuleCount: Integer read
Modules
Gets reference to a plugin module with specified index.
property Modules[Index: Integer]: THYBaseModule read
ModulesToLoad
List that holds pathes to plugin modules. This list can be used by AutoLoad
feature or by calling LoadModules
method.
property ModulesToLoad: TStrings read write
ResolveInterfacesToOwner
Gets or sets value which is used to indicate whether module manager will try to resolve interfaces from its owner or from CustomImplementer
.
property ResolveInterfacesToOwner: Boolean read write
ComModuleCreator protected virtual abstract
Creates COM module
function ComModuleCreator(const aGuid: string; const aDefaultDomain: THYClrDomain): THYBaseModule
Parameters:
- aGuid: guid
- aDefaultDomain: ignored
CreateInstance (string): IInterface overload
Creates a new instance of the plugin with specified name.
function CreateInstance(const PluginName: string): IInterface
Parameters:
- PluginName: Name of the plugin instance.
CreateInstance (string, IInterface) overload virtual abstract
Creates a new instance of the plugin with specified name.
procedure CreateInstance(const PluginName: string; out anInstance: IInterface)
Parameters:
- PluginName: Name of the plugin instance.
- anInstance: Pointer to the new instance of the plugin.
CreateWrapper protected virtual abstract
Creates a new instance of the Delphi plugin wrapper from cross-paltform plugin instance.
function CreateWrapper(aPlugin: IDispatch; aDescriptor: THYPluginDescriptor): IInterface
Parameters:
- aPlugin: Cross-platform plugin instance
- aDescriptor: Plugin descriptor
FindModule
Searches for a plugin module with given name. If module can not be found returns nil.
function FindModule(const aFileName: string): THYBaseModule
Parameters:
- aFileName: Path to the plugin module file.
FMXModuleCreator protected virtual
Creates FMX module
function FMXModuleCreator(const aFileName: string; const aDefaultDomain: THYClrDomain): THYBaseModule
Parameters:
- aFileName: filename
- aDefaultDomain: ignored
GetModuleFileNames
Seaches for files with specified search pattern and fills aList
with file names.
function GetModuleFileNames(aList: TStrings; const aSearchPath: string): Integer
Parameters:
- aList: List that will be filled with file names.
- aSearchPath: Search pattern. For example
*.dll
.
HasPrivilege virtual
Checks whether specified privilages is supported by this application. This method will use associated UserProfile
or (if its not available) will trigger a OnPrivilageCheck
event.
function HasPrivilege(const aPrivilege: string): Boolean
Parameters:
- aPrivilege: User defined privilage.
JavaModuleCreator protected virtual abstract
Creates Java module
function JavaModuleCreator(const aFileName: string; const aDefaultDomain: THYClrDomain): THYBaseModule
Parameters:
- aFileName: filename
- aDefaultDomain: ignored
LoadComModule
Loads COM module
function LoadComModule(const aGuid: string): Integer
Parameters:
- aGuid: guid
LoadJavaModule
Loads Java module
function LoadJavaModule(const aFileName: string): Integer
Parameters:
- aFileName: Path to the plugin module.
LoadManagedModule (string, THYClrDomain): Integer overload
Loads managed module
function LoadManagedModule(const aFileName: string; const aDefaultDomain: THYClrDomain): Integer
Parameters:
- aFileName: Path to the plugin module.
- aDefaultDomain: Defines default domain.
LoadManagedModule (string, Boolean): Integer overload
Loads managed module
function LoadManagedModule(const aFileName: string; const InNewAppDomain: Boolean): Integer
Parameters:
- aFileName: Path to the plugin module.
- InNewAppDomain: Defines whether plugin module will be loaded in a separate AppDomain.
LoadModule (string, THYClrDomain): Integer overload
Loads a plugin module with specified path, type of the plugin will be detected automatically.
function LoadModule(const aFileName: string; const aDefaultDomain: THYClrDomain): Integer
Parameters:
- aFileName: Path to the plugin module.
- aDefaultDomain: Defines default domain. Affects only managed plugin modules.
LoadModule (string, Boolean): Integer overload
Loads a plugin module with specified path, type of the plugin will be detected automatically.
function LoadModule(const aFileName: string; const InNewAppDomain: Boolean): Integer
Parameters:
- aFileName: Path to the plugin module.
- InNewAppDomain: Defines whether plugin module will be loaded in a separate AppDomain. Affects only managed plugin modules.
LoadModules (THYClrDomain) overload
Loads all plugin modules from the ModulesToLoad
list, type of the plugins will be detected automatically.
procedure LoadModules(const aDefaultDomain: THYClrDomain)
Parameters:
- aDefaultDomain: Defines default domain. Affects only managed plugin modules.
LoadModules (array of string, THYClrDomain) overload
Loads all plugin modules from the ModulesToLoad
list, type of the plugins will be detected automatically.
procedure LoadModules(const aFileNames: array of string; const aDefaultDomain: THYClrDomain)
Parameters:
- aFileNames: Array of strings that holds file pathes.
- aDefaultDomain: Defines default domain. Affects only managed plugin modules.
LoadModules (array of string, Boolean) overload
Loads all plugin modules that fits into specified search pattern, type of the plugins will be detected automatically.
procedure LoadModules(const aFileNames: array of string; const InNewAppDomain: Boolean)
Parameters:
- aFileNames: Search pattern. For example
*.dll
. - InNewAppDomain: Defines whether plugin module will be loaded in a separate AppDomain. Affects only managed plugin modules.
LoadModules (TStrings, THYClrDomain) overload
Loads all plugin modules from the ModulesToLoad
list, type of the plugins will be detected automatically.
procedure LoadModules(const aFileNames: TStrings; const aDefaultDomain: THYClrDomain)
Parameters:
- aFileNames: List of strings that holds file pathes.
- aDefaultDomain: Defines default domain. Affects only managed plugin modules.
LoadModules (TStrings, Boolean) overload
Loads all plugin modules that fits into specified search pattern, type of the plugins will be detected automatically.
procedure LoadModules(const aFileNames: TStrings; const InNewAppDomain: Boolean)
Parameters:
- aFileNames: Search pattern. For example
*.dll
. - InNewAppDomain: Defines whether plugin module will be loaded in a separate AppDomain. Affects only managed plugin modules.
LoadModules (string, THYClrDomain): Integer overload
Loads all plugin modules from the ModulesToLoad
list, type of the plugins will be detected automatically.
function LoadModules(const aSearchPath: string; const aDefaultDomain: THYClrDomain): Integer
Parameters:
- aSearchPath: Search pattern. For example
*.dll
. - aDefaultDomain: Defines default domain. Affects only managed plugin modules.
LoadModules (string, Boolean): Integer overload
Loads all plugin modules that fits into specified search pattern, type of the plugins will be detected automatically.
function LoadModules(const aSearchPath: string; const InNewAppDomain: Boolean): Integer
Parameters:
- aSearchPath: Search pattern. For example
*.dll
. - InNewAppDomain: Defines whether plugin module will be loaded in a separate AppDomain. Affects only managed plugin modules.
LoadModules (Boolean) overload
Loads all plugin modules from the ModulesToLoad
list, type of the plugins will be detected automatically.
procedure LoadModules(const InNewAppDomain: Boolean)
Parameters:
- InNewAppDomain: Defines whether plugin module will be loaded in a separate AppDomain. Affects only managed plugin modules.
LoadSilverlightModule
Loads Silverlight module
function LoadSilverlightModule(const aFileName: string): Integer
Parameters:
- aFileName: Path to the plugin module.
LoadUnmanagedCrossPlatformModule
Loads unmanaged crossplatform module
function LoadUnmanagedCrossPlatformModule(const aFileName: string): Integer
Parameters:
- aFileName: Path to the plugin module.
LoadUnmanagedModule
Loads unmanaged module
function LoadUnmanagedModule(const aFileName: string): Integer
Parameters:
- aFileName: Path to the plugin module.
ManagedModuleCreator protected virtual abstract
Creates managed module
function ManagedModuleCreator(const aFileName: string; const aDefaultDomain: THYClrDomain): THYBaseModule
Parameters:
- aFileName: filename
- aDefaultDomain: Defines default domain
ModuleByFileName
Searches for a plugin module with given file name. If module can not be found throws EHYException.
function ModuleByFileName(const aFileName: string): THYBaseModule
Parameters:
- aFileName: File name of the plugin module.
QueryInterface protected reintroduce stdcall
function QueryInterface(const IID: TGUID; out Obj: ): HResult
Parameters:
- IID:
- Obj:
SilverlightModuleCreator protected virtual abstract
Creates Silverlight module
function SilverlightModuleCreator(const aFileName: string; const aDefaultDomain: THYClrDomain): THYBaseModule
Parameters:
- aFileName: filename
- aDefaultDomain: ignored
TryLoadModule (string, THYClrDomain): Integer overload
Loads a plugin module with specified path, type of the plugin will be detected automatically. If succeeds returns index of the module otherwise -1.
function TryLoadModule(const aFileName: string; const aDefaultDomain: THYClrDomain): Integer
Parameters:
- aFileName: Path to the plugin module.
- aDefaultDomain: Defines whether plugin module will be loaded in a separate AppDomain. Affects only managed plugin modules.
TryLoadModule (string, Boolean): Integer overload
Loads a plugin module with specified path, type of the plugin will be detected automatically. If succeeds returns index of the module otherwise -1.
function TryLoadModule(const aFileName: string; const InNewAppDomain: Boolean): Integer
Parameters:
- aFileName: Path to the plugin module.
- InNewAppDomain: Defines whether plugin module will be loaded in a separate AppDomain. Affects only managed plugin modules.
UnloadModule (THYBaseModule) overload virtual abstract
Unloads specific plugin module
procedure UnloadModule(aModule: THYBaseModule)
Parameters:
- aModule: The plugin module
UnloadModule (Integer) overload
Unloads plugin module with specified index.
procedure UnloadModule(Index: Integer)
Parameters:
- Index: Index of the plugin module.
UnloadModule (string) overload
Unloads plugin module with specified file name.
procedure UnloadModule(const aFileName: string)
Parameters:
- aFileName: Index of the plugin module.
UnloadModules
Unloads all plugin modules.
procedure UnloadModules
UnmanagedCrossPlatformModuleCreator protected virtual abstract
Creates unmanaged cross platform module
function UnmanagedCrossPlatformModuleCreator(const aFileName: string; const aDefaultDomain: THYClrDomain): THYBaseModule
Parameters:
- aFileName: filename
- aDefaultDomain: ignored
VCLModuleCreator protected virtual
Creates VCL module
function VCLModuleCreator(const aFileName: string; const aDefaultDomain: THYClrDomain): THYBaseModule
Parameters:
- aFileName: filename
- aDefaultDomain: ignored
OnAfterCreateInstance
Gets or sets event handler that is fired after new plugin instance is created.
property OnAfterCreateInstance: THYAfterCreateInstanceEvent read write
delegate: procedure OnAfterCreateInstance(Sender: TObject; const PluginName: string; const anInstance: IInterface)
OnAfterLoadModule
Gets or sets event handler that fired after plugin module was loaded.
property OnAfterLoadModule: THYLoadedModuleEvent read write
delegate: procedure OnAfterLoadModule(Sender: TObject; Module: THYBaseModule)
OnAfterUnloadModule
Gets or sets event handler that fired after plugin module was unloaded.
property OnAfterUnloadModule: THYUnloadingModuleEvent read write
delegate: procedure OnAfterUnloadModule(Sender: TObject; const FileName: string)
OnBeforeCreateInstance
Gets or sets event handler that is fired before new plugin instance is created.
property OnBeforeCreateInstance: THYBeforeCreateInstanceEvent read write
delegate: procedure OnBeforeCreateInstance(Sender: TObject; const PluginName: string)
OnBeforeLoadModule
Gets or sets event handler that fired before plugin module is loaded.
property OnBeforeLoadModule: THYLoadingModuleEvent read write
delegate: procedure OnBeforeLoadModule(Sender: TObject; const FileName: string; var Continue: Boolean)
OnBeforeUnloadModule
Gets or sets event handler that fired before plugin module is loaded.
property OnBeforeUnloadModule: THYLoadedModuleEvent read write
delegate: procedure OnBeforeUnloadModule(Sender: TObject; Module: THYBaseModule)
OnGetAutomationObject
Gets or sets event handler that fired whenever Silverlight plugin requests for an instance of an object. Plese refer to this article for more information.
property OnGetAutomationObject: THYGetAutomationObjectEvent read write
delegate: procedure OnGetAutomationObject(Sender: TObject; const ProgId: string; const Flags: THYGetAutomationObjectFlags; var Disp: IDispatch)
OnLoadModuleError
Gets or sets event handler that is triggered when error occurs while plugin module being loaded.
property OnLoadModuleError: THYLoadModuleErrorEvent read write
delegate: procedure OnLoadModuleError(Sender: TObject; Error: Exception; var RaiseException: Boolean)
OnNotifySilverlightError
Gets or sets event handler that is triggered whenever error occurs in Silverlight plugin.
property OnNotifySilverlightError: THYNotifySilverlightErrorEvent read write
delegate: procedure OnNotifySilverlightError(Sender: TObject; const Error: string; const Source: string; const Line: Integer; const Column: Integer)
OnPrivilegeCheck
Gets or sets event handler that fired whenever privilage check is performed.
property OnPrivilegeCheck: THYCustomPrivilegeCheckEvent read write
delegate: procedure OnPrivilegeCheck(Sender: TObject; const aPrivilege: string; var HasPrivilege: Boolean)