首页 > 代码库 > 【MyBean-开源框架】进行简单的逻辑插件(演示在控制台中应用)
【MyBean-开源框架】进行简单的逻辑插件(演示在控制台中应用)
【说明】
很多时候大家认为客户端插件一般是窗体。其实不然,很多功能都可以看成是插件,比如一个单据的审批功能,一个单据上面,单价的获取功能,都可以看成是插件,然后后期通过配置,可以灵活进行切换。MyBean支持这种插件,支持这种纯逻辑的插件。剩下的是需要自己去制定执行逻辑的协议,这个DEMO就是展示如果进行逻辑插件的编写。
【DEMO设计】
该DEMO在调用DLL的一个插件完成两个简单数字的简单合计,然后可以由其他插件调用日志插件输出功能。
先制定接口协议(uILogic.pas):
type /// <summary> /// 合计插件接口 /// </summary> ISumExp = interface(IInterface) [‘{D02C3764-1231-46EC-8C74-95DFBF2A1ED5}‘] function sum(i:Integer; j:Integer):Integer; stdcall; end; /// <summary> /// 日志插件接口 /// </summary> IMyBeanLogger = interface(IInterface) [‘{B872909D-99FF-47B9-A3F9-8CB9C26A8FD5}‘] procedure LogMessage(s: PAnsiChar); stdcall; end;
2.注册日志插件, 由EXE提供实现,在EXE中注册日志插件(uMyBeanLoggerImpl.pas)。
initialization ///注册日志插件 beanFactory.RegisterBean(‘mybeanLogger‘, TMyBeanLoggerImpl);
3.逻辑插件的实现(ISumExp接口的实现)
function TSumExpImpl.sum(i, j: Integer): Integer;begin Result := i + j; (TMyBeanFactoryTools.getBean(‘mybeanLogger‘) as IMyBeanLogger).LogMessage(‘dll插件调用mybeanLogger插件,输出一些信息‘);end;
4.注册逻辑插件
library logicBean;uses SysUtils, mybean.core.beanFactoryForNoVcl, Classes, uSumExpImpl in ‘uSumExpImpl.pas‘, uILogic in ‘..\common\uILogic.pas‘;{$R *.res}begin beanFactory.RegisterBean(‘sumExp‘, TSumExpImpl);end.
5.编译出来的DLL和EXE放一起就可以运行了
该DEMO只是抛砖,想想自己的系统中可以把哪些功能做成逻辑插件……
【MyBean-开源框架】进行简单的逻辑插件(演示在控制台中应用)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。