2008-6-5 01:20
gogogle
从bpl中继承窗体并将bpl发布至Delphi IDE
问题是这样的,我想用Delphi做一个分布式的系统,系统所有子模块全部采用bpl方式进行连接,所有子系统的窗体均从BaseForm.bpl中继承,但又遇到bpl封装窗体后在Delphi环境下又不能可可视化继承的问题,对于将此bpl分发给开发小组成员开发各自子系统时造成麻烦,所以想到Delphi专家工具,于是网上找了个Expert的例子ccpack50.bpl,通过ccpack50.bpl发布BaseForm.bpl到Delphi的IDE中,这样开发成员只需将ccpack50.bpl及BaseForm.bpl安装在自己的IDE中就可以可视货继承创建BaseForm.bpl中的窗体基类了,但创建时却报error creating form:Ancestor for 'TFrmAncesterTop' not found的错误(在BaseForm.dpk打开的情况下则不会报错,但打开dpk然后再继承创建则没有意义),实在找不出原因,还是烦请大师百忙之中抽空给予指点,附件里是这二个bpl的源码,修正后请发回邮件,我的邮箱:jxrichar@hotmail.com,谢谢!
2008-8-18 13:13
gogogle
jAmEs,你好,谢谢你的解答,可视化继承的问题解决了,但还有个问题搞了好多天还无法解决,就是我在父窗体内创建一些公共的控件,比如工具条等,发布至BPL专家包中,在Delphi环境下新增一此窗体,更改了公共控件的属性,并又在新窗体上加了几个新控件,保存后再次在Delphi环境中打开此窗体时报公共控件己经存在的错误,并且之前对公共控件更改的属性都还原了,增加的新控件也不见了,不知是何原因?但如果是在运行期调用此窗体却不会出错,但设置的属性和新增的控件同样也都不见了,BPL中窗体要如何创建公共控件并初始化才不会出现此种问题,望指教,将不胜感激!
[[i] 本帖最后由 gogogle 于 2008-8-18 13:17 编辑 [/i]]