procedure TPluginLoader.UnloadPlugin( const id: string );
var
index : Integer;
begin
index := FPluginList.IndexOfName( id );
Check( index >= 0, Format( ''未找到%s插件.'', [id] ) );
UnloadPlugin( index );
end;
procedure TPluginLoader.UnloadPlugin( const index: Integer );
begin
UnloadPackage( StrToInt( FPluginList.ValueFromIndex [index] ) );
FPluginList.Delete( index );
end;
procedure TPluginLoader.UnloadPlugins;
var
i : integer;
begin
for i := FPluginList.Count - 1 downto 0 do UnloadPlugin( i );
end;
end.
XmlConfig单元,XmlPlugin单元是一个由delphi XmlBinding向导生成的单元,用来读写plugin的xml配置文件
uIPlugin单元,是插件接口声明类
{*******************************************************}
{
codemyth.Group
copyright 2004-2005
codemyth(at)gmail(dot)com
Create at 2005-7-20 10:22:47
插件系统公用定义,容器和插件均应包含该单元定义
Change history:
}
{*******************************************************}
unit uIPlugin;
interface
type
//插件信息体
TPluginInfo = record
Id: string; //插件id ,与xml文件中一样
Name: string; //插件名称
Version: string; //插件版本
Description: string; //插件简介描述
Vendor: string;
end;
//插件接口,开发之插件应实现该接口,容器使用该接口调用插件
{
容器调用的例子,得到IPlugin的实例thePlugin后
1.显示插件信息
ShowMessage(thePlugin.GetInfo.Name);
2.配置插件执行环境参数
&