在delphi6.0下,元件中用到 DesignEditors单元,这时产生Proxies.dcu找不到,怎么办?(500分)(100分)

  • 主题发起人 主题发起人 newnob
  • 开始时间 开始时间
N

newnob

Unregistered / Unconfirmed
GUEST, unregistred user!
在delphi6.0下,元件中用到 DesignEditors单元,这时产生Proxies.dcu找不到,怎么办?
在我的元件中有TMyEditor = class(TComponentEditor),因此用到了DesignEditors。
 
在delphi6目录中搜索Proxies, 可能会找到一个proxies.pas的文件,将它编译成dcu文件
或者将它拷入/delphi6/lib目录中即可。
 
我也发现一些问题,d5中好用的,到d6中提示找不到dsgnintf单元,奇怪,我查了一下,的确
d5中有,d6没有。
怎吗解决?
 
在delphi6中,dsgnintf改名为DesignIntf,具体参见d6帮助中upgrading to delphi 6
中的Compatibility issues的DsgnIntf renamed and related changes页.
 
在 Requires 中 加入 DesignIde.dcp
 
兄弟可得给我分,我刚刚解决!(500??)
在用到Proxies的unit中,注释掉proxies(//,Proxies),
该unit中还有一处 isProx...也要注释掉,then compile,将产生的
dcu放在lib下,ok?

good luck to you!
j_qw_cn@sina.com

 
编译时根本不应该用到 DesignEditor 单元,写包时加入 DesignIde.dcp
就可以注册使用定制的属性编辑器。自定的属性编辑器 写在单独的单元中,
与组件的编码分开。
 
老兄,不可能不用
 
试举一例
 
newnob遇到的就是
 
能否贴出具体代码(不可能不用DesignEditors.pas的【编译时】)
 
to newnob:
D6 中不提供 proxies.dcu ,以禁止你单独发布的程序中含有 Borland 的设计期代码.
因此你必须把运行时包与设计时包分开.
运行时包仅包含你的控件的单元.设计时包仅包含你控件的属性编辑器和组件编辑器和
注册你的组件及其编辑器的代码所在的单元.你的控件不应该需要它的编辑器的信息,也即
不应引用属性编辑器所在的单元.只有属性编辑器所在单元需要引用你控件所在的单元.
然后在你的运行时包的 Requires 部分加上你运行时包对应的 dcp 文件和
DesignIde.dcp 就可以编译了.这样只需你的运行时包安装到 IDE 中.编译你的运行时包的
时候也不需要 proxies.dcu 了.
 
接受答案了.
 
后退
顶部