我在Delphi5下做控件,经常要用到DsgnIntf.pas这个文件
可在Delphi6中被分解为DesignIntf.pas和DesignEditors.pas两个文件
当我用着两个文件时,控件能够编译通过,可在运行时就会出现找不到Proxies.dcu文件的问题。
各位大虾帮帮忙啊,Delphi真烂每个版本都不能兼容,我快被玩死了。
我真不敢想Delphi8变成什么样子了。

解决方案 »

  1.   

    阿啊!现在D6->D7->D8都好了。
    建议你不要用D5了。
    不要灰心。以后的都好多了。
      

  2.   

    笨啊!太笨了,你应该在设计时包的Require里面加入designide.dcp
    就这水平,还有资格评价开发工具本身?
      

  3.   

    不加designide.dcp连编译都不能通过,
    我对delphi一点都不感兴趣,
    我是写AI的,只不过现在要做个包把他封装起来
      

  4.   


    问题所在:因为控件是for Delphi5的,所以在Delphi6下安装时碰到了很多问题。现在详细描述。
    先找到控件安装包,双击Crystal.dpk。系统提示安装成新格式,选择“是”。
    点击package的install进行安装,报告错误:未找到DsgnIntf.dcu,这是Delphi5和Delphi6的一个区别,将uses中的DsgnIntf改为{$IFDEF VER140} DesignIntf, DesignEditors {$ELSE} DsgnIntf {$ENDIF}。
    继续编译。报告未找到DsgnIntf.dcu,倒,搜一搜,在Delphi安装目录的Source/ToolAPI里有一个,拷到lib下。
    继续编译。报告未找到DesignMenus.dcu,再倒一次,再搜一次,还是在Source/ToolAPI里,再拷到lib下。
    再编译,还说缺东西,缺什么拷什么吧,谁让我笨呢。这次缺DesignEditors,当然还是在Source/ToolAPI里。还缺一个DesignConst,一样拷贝。
    后来找了一个简单办法,既然这三个都在同一个目录里,就把路径包进去。点菜单Tools->Environment Option,选到Library页,在Library Path里添加Source/ToolAPI。 
    最后缺Proxies.duc。这次可是找不到啦。怎么办呢,自己写一个。不是开玩笑,这个文件在Delphi6里已经没用了,写一个骗骗它:),程序如下:
    unit Proxies;
    interfaceFunction IsProxyClass(ComponentClass: TClass): Boolean;implementationFunction IsProxyClass(ComponentClass: TClass): Boolean;
    begin
      Result := True;
    end;end.
    存盘到lib下。
    继续编译,又有错啦,未定义Form,这可是源码啦,怎么回事呢?打开源码看看,原来是叫Root,把所有报错的Form改为Root。改完之后再安装,OK。
    在Data Access里的最后一个控件Crpe,就是它啦。
    Where is proxies.dcu? - by Borland Developer Support Staff
    Abstract: Proxies.dcu is no longer shipped with Delphi. 
    Question:Why am I getting the error "File not found 'Proxies.dcu'" Answer:This error can occur when DesignEditors is added to the Uses clause. Do not statically link in the code in the ToolsAPI folder, it is there for reference purposes only. If this is a run time package then you should separate out the design time items and put them into a design time package. You should then add DesignIde.dcp to the requires section of your design time package. 
    I'm currently using Delphi v6 and aside from the change from dsgnintf.pas to designintf.pas, the fact that the proxies.dcu distributed with Delphi v5 was not included in the distribution of v6 is nothing less than frustrating. Attempting to use the .dcu from v5 requires a recompile of the .dcu and the .pas is not available. What an attractive set of nicely done components! Help!!!
      

  5.   

    把delphi source目录下ToolsAPI目录下的所有.pas文件拷贝到delphi\lib目录下就可以了
      

  6.   

    终于解决了,我的控件文件名叫Square.pas,属性编辑器名叫OpenProperty.pas
    我在Square.pas里引用了OpenProperty.pas,去掉就可以了。