- 博客(11)
- 收藏
- 关注
原创 bpl插件系统开发(5)
在这样的构想下,我们来做一个demos,我们来定义如下的被IMisDriver驱动的接口,加入现在能想到的简单的应用,我们要作的工作如下定义被驱动的接口 撰写IMisDriver的一个实现,用它来驱动各个接口,IMisDriver通过调用TPluginLoader的获得接口实例. 撰写每个接口的实现,并生成多个bpl 用TPluginLoader来载入这些插件, 主程序,实例化一个TPluginL
2005-12-03 21:56:00
1802
1
原创 bpl插件系统开发(4)
我们可以想像这样一个系统,与mvc的思想比较相同,controller负责整个系统的调度,当用户执行了某个action后,controller将其处理后用某个特定的view来呈现给用结果.这就是mvc先看看这个图这图是我用Together6.1画的,关心的设计思想,而不是代码本省,而且together本身也不支持pascal语法生成(不知道有没有插件)其中的IMisDriver就是mvc中的T
2005-12-03 21:55:00
1977
1
原创 bpl插件系统开发(3)
上篇说了一些理论的东西,现在总结一下,我们的程序发布时应该想这样子:主程序 一个完全由接口驱动的程序,它调用各种接口完成软件的功能.(当然并不是绝对的,如果你的某个功能并不需要外部来提供的化)插件s(注意,加了s复数形式) 放在同一目录下,一个完整的插件应该有两个同名文件,一个是含有实现某接口的bpl,一个是描述该插件功能的xml.主程序启动时,将加载所有的插件,在运行过程中调用某个接
2005-12-03 21:38:00
1961
原创 bpl插件系统开发(2)
插件规范-----------插件必须实现一个接口,该接口通过GetObject,SetObject方法让容器和插件能够交互数据.IPlugin = interface [{48BF4000-B028-4B57-9955-B1A8305DA394}] function GetRunResult: TObject; //用于向容器返回执行Execute后的结果
2005-12-03 21:37:00
1871
原创 bpl插件系统开发(1)
半路出家的delphier一如我,对于win32api式的调用有着近乎厌恶的抵触情绪,我很早以前看c++的教程时看到lptrXXXXX的变量就头大,以至于到现在都不会用c++,都不曾写成功过那怕一个hello world程序,所以对于dll式的导出函数后面加stdcall使用右到左的参数调用方式,总觉得没有delphi的美感.再加上看到了许多bpl可以导出类,而dll很麻烦的文章,更是坚定了我
2005-12-03 21:36:00
2454
1
原创 Midas攻略
用midas已经很久了,昨天看了一些midas的源码,有点心得,下面写一下如何开发一个请求响应模式的midas系统系统的结构 client端的ClientDataset直接连接Server端的Provider,可以构成最简单的Midas系统,但是这种系统的缺点是很明显的,1.需要在Client上注册appserver,就算你发现了可以写注册表,解决这个问题,仍然增加了部署的复杂
2005-02-23 12:35:00
2720
2
原创 在intelliJ idea 中使用Courier New字体,并能正确显示中文
宋体的英文字母太辍了点,改打开idea/jre/lib/font.properties.zh,有下面的部分 dialoginput.plain.0=Courier New,ANSI_CHARSETdialoginput.plain.1=/u5b8b/u4f53,GB2312_CHARSETdialoginput.plain.2=WingDings,SYMBOL_CHARSETdia
2004-11-12 17:28:00
4907
2
原创 序列化FastReport
原本在开发一个报表插件,因为需要远程传输,因此需要序列化报表,序列化FastReport有两种方式, 1.仅序列化数据,由客户端接受到数据,并呈现报表,这种方式需要在客户端存储报表格式文件xxx.Frf, 2.序列化FastReport的结果集(即,得到数据后可以存成的frp文件),这样frf文件不需要在客户端存在.我倾向于采用这种方式,毕竟客户端越轻越好. 简单打开一个表
2004-06-23 15:23:00
1376
原创 如何将一组数据感知控件进行集体操作
许多时候你需要把界面中的所有数据感知控件的Readonly都设为true或false,你会怎么做呢? 最早的时候我这样:枚举每个类型,如果有更多,代码将会很多 for i := 0 to ComponentCount - 1 do begin if Components[i] is TDBMemo then begin TDBMemo(Componen
2004-06-23 10:16:00
1550
2
原创 一个简单Tracer类,用来为应用写入跟踪
===================类的代码=========================={*******************************************************} { } { CodeMachine
2004-06-11 10:21:00
1837
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人