用dll方式封装mdi子窗体是一种常用的软件开发技术,它的优点:
想在dll中封装mdi子窗体,要注意以下几点: 【程序编程相关:论程序设计课程与Delphi教材的编写 】
开发人员可以负责某一个模块的编写包括(界面+逻辑),可以互不干扰,模块开发完成后,主程序统一调用.易于程序升级,当程序升级时,不用编译主exe文件,更新某个dll就可以升级.可以根据客户不同的需求.价钱给他们不同的模块.(奸商都愿意用这招)最近用到这个技术,因为小弟没有用过,在网上google了一下,对它有了了解,我用的是基于com的dll,下面总结如下: 【推荐阅读:如何在托盘图标实现漂亮的菜单 】
tcomdlltest1 = class(tautoobject, icomdlltest1) 【扩展信息:delphi create Http 】
你的dll中的接口要有两个参数:第一,主程序的application对象;第二,主程序窗体对象;你要重写dll入口函数如果是基于com的,要注意:因为com没有tapplication与tform类型,你在传入时需要强转为integer.需要注意的就这么多,下面结合例子看看(假设你已经建立了工程):
private fmsgstr: widestring; function getmdiform(aform: tform): boolean; protected { protected declarations } function get_msgstr: widestring; safecall; procedure set_msgstr(const value: widestring); safecall; procedure showmsgstr; safecall; procedure createform(ahandle: sysuint); safecall; procedure createmdiform(var aapp; aform: sysint); safecall; //创建mdi窗体 sysint为unsigned int procedure createcomtest(aform: sysuint); safecall; public ... 下一页