需要Proxies.pas文件;本人信誉良->好50分。(50分)

  • 主题发起人 主题发起人 xzh2000
  • 开始时间 开始时间
X

xzh2000

Unregistered / Unconfirmed
GUEST, unregistred user!
在安装某包时,
提示designeditors中引用了proxis单元,但本人机器中却找不到,
请帮一下小弟。

xzhui@vip.sina.com(收到立即加分)
 
本来就没有这个单元
解决办法就是在你的包中加入designed.dcu文件
 
我的机器上也没有designed.dcu这个文件
谁发给我???
 
不是designed.dcu是designide60.bpl在Delphi6中可以使用别名,它的别名是
designide,在控件包的dpk文件中的requires域中加入designide就可以了.不
过在发布的时候就必须把designide60.bpl一起发布,还有可能需要发布另外的一些bpl文件.
 
这个问题是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,把这两个地方注释掉就可以了.
 
我本来也想改这个方件
又担心出问题。
 
不用改了,新建一个单元,其中写入下面的代码,并把文件名命名为:Proxies.Pas放在你的项目的文件夹中或者Delphi的Source文件夹中或者其他Search Path中.
unit Proxies;

interface

function IsProxyClass(ComponentClass: TClass): Boolean;

implementation


function IsProxyClass(ComponentClass: TClass): Boolean;
begin
Result := True;
end;

end.
 
多人接受答案了。
 
后退
顶部