ERPSYSTEM开发教程03 DEMO程序开发过程
2015-01-13 16:48
225 查看
DEMO程序说明
提供了两个演示接口
这里演示了主窗体调用接口IBplOne,调用Dll和BPL里的窗体
Dll窗体调用了IBplOne接口和IDllOne接口,BPL窗体调用了IDllOne接口
其中IBplOne采用接口工厂创建,IDllOne采用单实例工厂创建,所以在Dll窗体调用接口IDllOne与BPL窗体调用接口IDllOne是同一实例
![](http://images.cnitblog.com/blog/352842/201501/131522372617984.gif)
开发步骤
主程序
将工程文件里的Forms替换为uTangramFramework,同时把核心包Tangram_Core加入运行库
![](http://images.cnitblog.com/blog/352842/201501/131626597452740.png)
![](http://images.cnitblog.com/blog/352842/201501/131626441837193.png)
如果是通过IDE向导创建的主程序,则这两个步骤就已经做好的了
模块
一个模块要被框架所调用必须引用框架包,同时定义一个TMoudle子类和一个GetModuleClass导出函数,采用向导创建模块这些都会自动创建
![](http://images.cnitblog.com/blog/352842/201501/131634205893327.png)
然后在包里创建接口定义文件,一般我们把对外开放的接口放到一个公共目录,并加入Delphi搜索路径,这样其它工程也能引用到
并用向导来创建接口实现单元,接口实现单元会创建接口的实现类,接口实例创建函数,类厂
这样模块的编写就完成了,接下来是接口调用
框架采用的是统一的接口调用,一个有定义类厂的接口,就可以通过 SysService as IXXX 的统一方式来调用
运行程序之前要把编译好的框架核心包Tangram_Core.bpl和框架配制工具ConfigTool.exe放到程序目录。
框架默认是采用从XML文件来自动加载模块的,通过框架配制工具,把做好的模块安装一下
![](http://images.cnitblog.com/blog/352842/201501/131645410422178.png)
视频教程地址:
ERPSYSTEM开发教程01 http://pan.baidu.com/s/1kT7Rb3D ERPSYSTEM开发教程02 http://pan.baidu.com/s/11xN5s
框架源代码下载地址 http://pan.baidu.com/s/1jGIc2Su
DEMO源代码下载地址 http://pan.baidu.com/s/1bnyEafH
联系QQ:1330009208 (验证信息请填ERPSYSTEM)
提供了两个演示接口
IBplOne=interface ['{E4C1C5FA-C598-4834-9111-26B52634068D}'] function Add(A,B:Integer):integer; function Sub(A,B:Integer):Integer; end; IDllOne=interface ['{0434DE04-07C9-4623-9009-CF7892768431}'] function GetString:string; procedure SetString(const Str:string); end;
这里演示了主窗体调用接口IBplOne,调用Dll和BPL里的窗体
Dll窗体调用了IBplOne接口和IDllOne接口,BPL窗体调用了IDllOne接口
其中IBplOne采用接口工厂创建,IDllOne采用单实例工厂创建,所以在Dll窗体调用接口IDllOne与BPL窗体调用接口IDllOne是同一实例
![](http://images.cnitblog.com/blog/352842/201501/131522372617984.gif)
开发步骤
主程序
将工程文件里的Forms替换为uTangramFramework,同时把核心包Tangram_Core加入运行库
![](http://images.cnitblog.com/blog/352842/201501/131626597452740.png)
![](http://images.cnitblog.com/blog/352842/201501/131626441837193.png)
如果是通过IDE向导创建的主程序,则这两个步骤就已经做好的了
模块
一个模块要被框架所调用必须引用框架包,同时定义一个TMoudle子类和一个GetModuleClass导出函数,采用向导创建模块这些都会自动创建
![](http://images.cnitblog.com/blog/352842/201501/131634205893327.png)
Type TUserModule=Class(TModule) private public Constructor Create; override; Destructor Destroy; override; procedure Init; override; procedure final; override; procedure Notify(Flags: Integer; Intf: IInterface); override; class procedure RegisterModule(Reg:IRegistry);override; class procedure UnRegisterModule(Reg:IRegistry);override; End; initialization //模块子类注册 RegisterModuleClass(TUserModule); finalization
//模块导出函数 Exports InstallModule, UnInstallModule, GetModuleClass;
然后在包里创建接口定义文件,一般我们把对外开放的接口放到一个公共目录,并加入Delphi搜索路径,这样其它工程也能引用到
unit BplOneIntf; {$WEAKPACKAGEUNIT ON} interface type IBplOne=interface ['{E4C1C5FA-C598-4834-9111-26B52634068D}'] function Add(A,B:Integer):integer; function Sub(A,B:Integer):Integer; end; implementation end.
并用向导来创建接口实现单元,接口实现单元会创建接口的实现类,接口实例创建函数,类厂
//接口实现类 Type TBplOne=Class(TInterfacedObject,IBplOne)//假设你的接口叫IXXX(以下同) private protected {IXXX} //这里加上你接口方法,然后按Ctrl+Shift+C,实现你的接口... function Add(A,B:Integer):integer; function Sub(A,B:Integer):Integer; Public End; implementation //接口实例创建函数 procedure Create_BplOne(out anInstance: IInterface); begin anInstance:=TBplOne.Create; end; //类厂注册 var Factory:TObject; initialization Factory:=TIntfFactory.Create(IBplOne,@Create_BplOne); finalization Factory.Free;
这样模块的编写就完成了,接下来是接口调用
procedure TFrmMain.Button1Click(Sender: TObject); var intf:IBplOne; begin intf:=SysService as IBplOne; Edit3.Text:= IntToStr( intf.Add(StrToInt(Edit1.Text),StrToInt(Edit2.Text)) ); end; procedure TfrmBplOne.Button3Click(Sender: TObject); var intf:IDllOne; begin intf:=SysService as IDllOne; Edit5.Text:=intf.GetString; end;
框架采用的是统一的接口调用,一个有定义类厂的接口,就可以通过 SysService as IXXX 的统一方式来调用
运行程序之前要把编译好的框架核心包Tangram_Core.bpl和框架配制工具ConfigTool.exe放到程序目录。
框架默认是采用从XML文件来自动加载模块的,通过框架配制工具,把做好的模块安装一下
![](http://images.cnitblog.com/blog/352842/201501/131645410422178.png)
视频教程地址:
ERPSYSTEM开发教程01 http://pan.baidu.com/s/1kT7Rb3D ERPSYSTEM开发教程02 http://pan.baidu.com/s/11xN5s
框架源代码下载地址 http://pan.baidu.com/s/1jGIc2Su
DEMO源代码下载地址 http://pan.baidu.com/s/1bnyEafH
联系QQ:1330009208 (验证信息请填ERPSYSTEM)
相关文章推荐
- Android开发教程(十)——android程序建立过程
- ERPSYSTEM开发教程05 框架接口管理
- ERP SYSTEM 开发指南(三)支持程序自动升级
- 微信小程序开发教程、小程序资讯、小程序demo合揖(10月16日更新)
- 03.WebView演练-iOS开发Demo(示例程序)源代码
- 小程序开发教程、小程序资讯、小程序demo、小程序实战等合揖(7月19日更新)
- 黑莓开发学习(入门教程)03-经典的HelloWorld程序
- ERPSYSTEM开发教程01 框架介绍
- 微信小程序开发工具 下载,安装,创建新项目和如何导入项目整个过程教程
- 微信硬件开发系列教程03-微信公众号开发DEMO(airkiss/airsync)
- 微信小程序开发导航:精品教程+网友观点+demo源码(5月9日更新)
- 番外篇!全球首个微信应用号开发教程!小程序 DEMO 视频奉上!
- ERP SYSTEM 开发指南(三)支持程序自动升级
- Android开发教程(十)——android程序建立过程
- 【转载】黑莓开发学习(入门教程)03-经典的HelloWorld程序
- 微信小程序开发教程、小程序资讯、小程序demo合揖(10月16日更新)
- Android程序开发初级教程(三)
- 基于ARM 的嵌入式系统程序开发要点-(二)系统的初始化过程
- Android程序开发初级教程(一)