这个问题是D6及D7才有的,原因及解决方法如下文(英文站点,看晕了)
http://community.borland.com/article/0,1410,27717,00.html
不改包,直接改Delphi源文件的解决方法
我是这样改的,没有出什么问题)
1.打开
C:/Program Files/Borland/Delphi7/Source/ToolsAPI/DesignEditors.pas
2.找到并把
uses
Types, SysUtils, Classes, TypInfo, Variants, DesignIntf, DesignMenus,Proxies;
改为
uses
Types, SysUtils, Classes, TypInfo, Variants, DesignIntf, DesignMenus{,Proxies};
3.找到并把
if (FAncestor = nil) and (Component <> Designer.Root)
and IsProxyClass(Component.ClassType) then
改为
if (FAncestor = nil) and (Component <> Designer.Root)
{and IsProxyClass(Component.ClassType)} then
4.找到并把
while IsProxyClass(ComponentClass) do
改为
//while IsProxyClass(ComponentClass) do
5.保存,编译运行,OK
上面3.4.5.就是把Proxies单元从DesignEditors单元中剔除,
DesignEditors单元中只有两个地方引用了Proxies单元的函数,
而且是同一个函数:IsProxyClass,把这两个地方注释掉就可以了.