bpl插件系统开发(5)
来源:互联网 发布:英国脱欧公投 知乎 编辑:程序博客网 时间:2024/06/08 09:44
在这样的构想下,我们来做一个demos,
我们来定义如下的被IMisDriver驱动的接口,加入现在能想到的简单的应用,我们要作的工作如下
- 定义被驱动的接口
- 撰写IMisDriver的一个实现,用它来驱动各个接口,IMisDriver通过调用TPluginLoader的获得接口实例.
- 撰写每个接口的实现,并生成多个bpl
- 用TPluginLoader来载入这些插件,
- 主程序,实例化一个TPluginLoader,然后取得IMisLoader的实例,运行它.
我们先来完成第一步
unit InterfaceDefine;
interface
uses DBClient, midasLib, Types, classes;
type
ITracer = interface
['{623B3A22-15CE-4555-B470-C3F4EBEE7EB4}']
procedure info( const msg: string );
procedure error( const msg: string );
procedure debug( const msg: string );
end;
ILogin = interface
['{082F9C02-B504-4417-ACEB-1C9E3410ADED}']
procedure login( const user, pwd: string );
function loginByCookie( const user, pwd: string ): string;
end;
IUserInfo = interface
['{4DE53541-6FC3-44C7-BA27-49B0827625F0}']
function information: TObject;
end;
IAuthentic = interface
['{0E4BCF53-D685-4AC8-9C38-614117E59365}']
procedure valid( const actionId: string );
procedure config;
end;
IDataService = interface
['{722CE946-1F59-4C67-A0EA-6655F1B1D961}']
procedure beginTrans;
procedure commitTrans;
procedure rollbackTrans;
function doSelectSql( const theSql: string ): TClientDataset;
function doSelectValue( const theSql: string ): string;
procedure doUpdateSql( const delta: string );
procedure doUpdateSqls( const deltas: TStringDynArray );
end;
IShortcutDispather = interface
['{A2C08C9E-5B56-4DC9-934B-323CAEC1FF49}']
function actionOf( const input: TShortCut ): string;
procedure config;
end;
IProcessData = interface
['{9368710D-7240-466A-8BCF-0D8B2FF0502D}']
function process( var theData: TClientDataSet );
end;
IActionManager = interface
['{0FEE643C-7610-4442-9EB7-5D21A433788A}']
function processerOf( action: string ): IProcessData;
end;
IView = interface( IProcessData )
['{5F0000F8-7A9D-4824-915C-20A95A7B01F4}']
procedure View( var theData: TClientDataSet );
end;
IReport = interface( IProcessData )
['{DD5A8AE6-37D9-4B9F-A2C9-9BEA9F217F90}']
procedure report( var theData: TClientDataSet );
end;
implementation
end.
- bpl插件系统开发(5)
- bpl插件系统开发(5)
- bpl插件系统开发
- bpl插件系统开发(1)
- bpl插件系统开发(2)
- bpl插件系统开发(3)
- bpl插件系统开发(4)
- bpl插件系统开发(1)
- bpl插件系统开发(2)
- bpl插件系统开发(3)
- bpl插件系统开发(4)
- delphi bpl插件系统开发(转)
- delphi bpl开发笔记
- delphi中的bpl开发注意事项
- C++插件化开发,插件化系统
- CDMS系统插件开发介绍
- BPL插件框架的二种实现方法
- 也谈插件化系统开发
- bpl插件系统开发(3)
- blog中代码的着色工具
- byebye
- 好久没来了,更新下哦!
- bpl插件系统开发(4)
- bpl插件系统开发(5)
- JSP页面的HIDDEN属性
- 让iis支持中文路径
- EvosWebMailTemplate For Domino v0.1 2005.12-2 0.22发布
- 课题研究报告的撰写(提纲)
- Delphi中的操作二进制文件的两个重要函数
- 第一次应聘
- Servlet/JSP配置入门
- 昨天看了一天,扫完了连续剧《血色浪漫》(36集)