小弟编写这样一个软件:软件结为主程序“动态”调用相应DLL模块实现。每个DLL中包含一个有共同继承祖先(TTemplatePageForm)的列表Form(称为PageForm),为调用每个DLL时要创建的窗体(非模态)。这个PageForm实例需要加载到主界面的一个ScrollBox中。我在DLL中只要求发布加载(LoadPage)和卸载(ReleasePage)PageForm实例的这两个函数,而其它的统一功能(可以来自于自定义接口或者TTemplatePageForm,在TTemplatePageForm或每个PageForm中实现)则希望通过主程序调用这个PageForm实实例的方法实现。出现并需要解决的问题:①无法将PageForm实例放到ScrollBox中;(分值:30)
②无法调用来自PageForm实列的统一功能函数;(注意:在DLL中不发布这些函数);(分值:70)结贴给分方法:
解决问题①:前三位得分为15:10:5;第一位解决者另外获得100分;
解决问题②:前三位得分为40:20:10;第一位解决者另外获得200分;希望实现者给上源代码,谢谢。
②无法调用来自PageForm实列的统一功能函数;(注意:在DLL中不发布这些函数);(分值:70)结贴给分方法:
解决问题①:前三位得分为15:10:5;第一位解决者另外获得100分;
解决问题②:前三位得分为40:20:10;第一位解决者另外获得200分;希望实现者给上源代码,谢谢。
解决方案 »
- 鼠标移动到文本框时,想捕获文本框的内容
- 谁用过神龙的PV980M视频采集卡?到底能实现什么功能?
- 100分调查各位Delphi的薪金?
- 100分的难题!我用代码实现选中listbox中的一项,请问如何获得这一项的坐标!请各位大侠指教!
- 我要遍历本机的所有驱动器,目录和子目录下的所有文件,该怎么办
- 我有两个edit键当我在一个edit键按了enter后,可以对另一个edit进行编辑,应该怎么做
- 关于数据表的定位和修改问题?????
- 怎样用程序清空Image控件中的内容(bmp)?
- 如何即时更新listbox的内容
- 请教高手,急!!!!
- 求大家帮个忙,哪位知道delphi中的dxloutlookgroup组件在什么地方啊
- 不同像素的图片之间的转换
1、调用Dll时传递一个ScrollBox作为PageForm的Parent就可以解决了。
2、如果不想发布这些函数,就建立一个自定义的消息,然后通过主控程序的消息来调用这些函数。
关键的是先定义好接口:插件和容器的接口。
另外记得要uses sharemem.
最好使用外部的rtl.bpl,vcl.bpl来编译。
另外,如果我要调用带参数且有返回值的函数呢?
问题2,应该没有问题吧,我没有这么做过,但是用类引用(class of )可以实现,用类引用只一个函数就可以了,实现把类传出来,然后在exe中创建和释放,跟在主程序中的类用着一样,呵呵