如何才能不停止应用程序,而为应用程序添加功能?(100分)

  • 主题发起人 主题发起人 clayjj
  • 开始时间 开始时间
C

clayjj

Unregistered / Unconfirmed
GUEST, unregistred user!
我使用Delphi开发短信平台,目前业务提出需求,我往往是重新编译应用程序,达到要求。
如何才能在不停止应用程序的情况下为应用程序扩充功能?
换句话,能否通过读取配置文件将用户的短信请求发送至某个类,由类处理,并将结果反传至应用程序,完成功能。这样一来,我只需要写类就可以完成要求
 
把想分离出来的东西写到配置文件里吧
 
但是考虑不到以后的需求,设计万用的流程是不切合实际的
 
设计一个插件机制既可,然后在主程序中动态定时检测插件配置,这没有什么困难的吧!
插件机制可以是全功能的,所谓的万用流程,也可以是专用部分的,根据你的需要,画画流程图.
 
使用包实现各个功能,运行时动态载入,
这样,新功能你只要编译一个新包放进目录,
就可以用了,不用重新编译主程序。
另个比较直观的方法:
主程序:Exe1
子程序:Subexe1, subexe2,
Exe1 不干活,只根据功能要求调用其他的子程序干活
对用户来说,主系统就可以一直运行不用退出了
 
请问楼上的能给个例子么?或者给个参考文档的链接,谢谢了
 
使用BPL有它自身的问题,因为主程序无法控制BPL对主程序的访问,同时耦合性太高,如果你在编码的时候一些细节没有注意到,很可能会导致BPL无法卸载(卸载出错).
因此我觉得还是采用COM的方式比较好!

BPL->DelphiHELP->LoadPackage
 
除了DLL和COM之外,还可以考虑可随时被加载、修改的脚本——每个新功能就是一个脚本。
 
creation-zy你好,你能说得更细一点吗?
 
更细的就是这个了:P http://www.delphibbs.com/keylife/iblog_show.asp?xid=8822

采用脚本系统的好处是不必定义一成不变的统一接口(但必要的系统功能一定要注册到脚
本引擎中,以便被脚本代码调用——例如ASP中的Request、Response等内建对象),可以随
时修改、扩展。不足之处是不够健壮。
 
用delphi调用script脚本程序
 
多人接受答案了。
 
后退
顶部