请求帮助:如何在DELPHI7里面安装XPMENU控件啊?

解决方案 »

  1.   

    基本安装:1、对于单个控件,Componet-->install component-->PAS或DCU文件-->install; 
        DCU文件是编译好的单元文件,这样的组件是作者不想把源码公布。一般来说,作者必须说明此组件适合Delphi的哪种版本,如果版本不对,在安装时就会出现错误。也正是因为没有源码,给使用者带来了不便,那就是一旦Delphi版本升级,此组件就不能再使用了,当然有的作者给出了几种版本的DCU文件,用户根据需要选择使用。
        注意,此时Delphi会提示 dclusr40.dpk将被重建,是否继续,OK就可以了。这里是将组件安装到dclusr40.dpk包中,此包从文件名上可以看出是用户自定义组件包,安装完毕会有已经将组件注册完的提示信息以及安装到哪个组件页中的信息等,到组件面板上看看,一般会出现一个新的组件页,其中有刚安装的组件。 当然也可以选择安装到一个新的包中,如果选择新包,需要先取一个名字比如DEMO,事实上安装完毕后用户可以找到的是Demo.bpl,而找不到DEMO.DPK。假如你已经将一个组件安装到dclusr40.dpk中了,还想再安装一个组件,如果再安装到dclusr40.dpk中,安装后你得到提示,原来安装的那个组件已经被取消注册,你将无法使用了。这样不就成了只能安装一个组件了吗?除非你再安装到一个新的包中才可以两个组件同时使用。当然每安装一个组件生成一个新的BPL文件也未偿不可,但BPL文件就增加许多。能否在dclusr40.dpk中多安装几个组件呢?当然是可以的。方法如下:用File菜单下的OPEN打开dclusr40.dpk文件,单击ADD按钮,在打开的对话框中选择ADD UNIT页面,按Unit file name后的“Browse”按钮打开组件单元文件,OK即可,用此种方法这样可添加多个组件的单元文件,添加完毕,按一下编译按钮,然后再按 Install按钮即可,如果单元文件是编译好的(DCU)可以直接按安装按钮。
        没有源码的组件最好不要使用,一是存在 Delphi版本升级后无法使用的问题,再者当程序出现问题后用户无法调试组件来判断是否是组件中存在BUG。2、对于带*.dpk文件的控件包,File-->Open(下拉列表框中选*.dpk)-->install即可;
        带有dpk文件的组件包一般是有多个组件构成的,也就是说安装后会有多个组件供使用,如果只有一个组件作者一般不会制成DPK文件,使用上面的方式发布就可以了。
        如果Install按钮处于无效状态,那么先按Compile按钮编译,一般来说编译之后 Install按钮就会处于有效状态,此时再按Install按钮就可以了。
     
    3、对于带*.bpl文件的控件包,Install Packages-->Add-->bpl文件名即可; 4、是run time lib则在option下的packages下的runtimepackes加之。 5、ActiveX控件的安装
        要安装这类控件,需要先用regsvr32.exe注册,然后选择 Component菜单中Import ActiveX Control项。在Import ActiveX Control打开的窗口中,只有已经注册的ActiveX控件才出现在列表中,选中一个然后按Install按钮就可以安装了。如果事先没有用regsvr32.exe注册也可以按ADD按钮找到OCX文件即时注册,注册后再进行安装。    如果编译时提示文件找不到的话,一般是控件的安装目录不在Delphi的Lib目录中,有两种方法可以解决: 
        (1)将安装的源文件拷入到Delphi的Lib目录下; 
    (2)或者Tools-->Environment Options中把控件源代码路径加入到Delphi的Lib目录中即可。    注意:所安装的控件是否与你所用的Delphi版本相适应。 控件删除  (1)在Component/Install Packages中删除。 
      (2)打开控件所在的包文件(*.dpk),从中删除控件那个文件,再重新编译该包即可。
      (3)如果是整个控件包都要删除的话,完成(1)后再把Bpl文件删掉就彻底了。
      

  2.   

    XPMENU只有一个源代码文件,所以安装是最简单的。
    Componment->Install Componment选项。选择into new package.
    在unit file name下输入那个源代码文件。在Package file name随便输入一个新名字,然后就一路确定就完成了。