一共進行如下3步:1:新建一個工程
2:Uses DesignEditors;
3: 出錯: File not found: "Proxies.dcu"(如果是delphi7的話,則不能找到這個單元, 雖然delphi7的help文件裡有這個單元)

解决方案 »

  1.   

    哦。。你可以在GOOGLE搜索一下这话题,从DELPHI6开始,设计期包与运行期包的区别。
      

  2.   

    To;
       halfdream(哈欠) ( ) 
    这个问题也捆饶我几天,能不能讲一下。
      

  3.   

    http://www.delphibbs.com/delphibbs/dispq.asp?lid=1145027这里面那文章可以好好看看。
      

  4.   

    简单说来:
    1,简单来说,Proxies单元没给出源码
    2,Proxies代码放在DesignIDE.bpl文件中
    3,DesignIDE.bpl不是一个可以再分发的包
      

  5.   

    删除关于Proxies的引用就能通过编译
    没影响的http://lysoft.7u7.net
      

  6.   

    DesignEditors
    做组件编辑器,这个组件编辑放在另一个单元中看这里:组制作完毕,相信经过上面的讲解,以及代码的注释,应该不难理解。接下来是什么呢,给我的托盘控件来点效果,即在设计器中,当双击该组件,或右击快捷菜单第一项时,会弹出一个About对话框,来说明我的托盘组件。这个就要用到组件编辑器啦 。几本经典书中都有说及,比如Deplphi开发人员指南,我也是从那里学来的,不过却遇到了一些问题,折磨了几天才解决。这里不想详细介绍,去看一下那些书,大概也就知道了,只略说一下。其原理就是实现一个继承自TComponentEditor的子类TTrayIconEditor,并在其中覆盖以下三个方法:function GetVerbCount: Integer; override;function GetVerb(Index: Integer): string; override;procedure ExecuteVerb(Index: Integer); override;可以精略理解为:GetVerbCount指定控件快捷菜单的项数GetVerb指定快捷菜单中的相关项的名字ExecuteVerb执行点击快捷菜单项后的动作 接着在Register方法中调用RegisterComponentEditor(TMyTray,TTrayIconEditor);第一个参数为组件类名,第二个为组件编辑器的类名。而上面的方法必须引用DesignIntf,DesignEditors。 当我在我的组件单元这样做之后出现问题了,编译安装没有问题。我建立测试程序,并拉一个托盘组件,双击它,可以出现About对话框,右击菜单第一项也没有问题。可是当我运行测试程序时,却出现了这样的编译错误:[Fatal Error] Unit1.pas(7): File not found: 'DesignEditors.dcu' 这让我痛苦了好几天,书上是这么说的,应该没有什么错误呀。后来经过摸索,才找到了解决之道。解决的办法就是将组件编辑器类放在另一个单元中,并在这个单元引用我的托盘组件单元。并安装之。这才可以正常运行,这个编辑器单元如下: unit AboutTray; interface uses  SysUtils,Classes,DesignIntf,DesignEditors,Forms,  MyTray; type TTrayIconEditor = class (TComponentEditor)    function GetVerbCount: Integer; override;    function GetVerb(Index: Integer): string; override;    procedure ExecuteVerb(Index: Integer); override;  end; procedure Register; implementation ///////TTrayIconEditor////////////////////////procedure TTrayIconEditor.ExecuteVerb(index:integer);begin case index of 0: application.MessageBox('你好,这是风做的托盘组件!!','关于'); end;end; function TTrayIconEditor.GetVerb(index:integer):String;begin  case index of    0:Result:='About MyTray';  end;end; function TTrayIconEditor.GetVerbCount:integer;begin  Result:=1;end;  procedure Register;begin  RegisterComponentEditor(TMyTray,TTrayIconEditor);end; end. 至此,托盘组件完毕,拉下它放在窗体设计器中,双击,弹出对话框里面内容为:“你好,这是风做的托盘组件!!”。哈哈,你成功啦