delphi 7,安装组件在安装时隐藏

时间:2012-05-07 09:50:27

标签: delphi components delphi-7 custom-component

我正在处理delphi 7的组件并快速安装而无需触及IDE我正在制作一个简单的安装程序,根据Marjan Venema的这个SO答案。

    procedure TForm1.Button1Click(Sender: TObject);
    var
      sDelphi7PackageName : string;
      sDelphi7Path,fileSource,fileDest : string;
      sDelphi7packBPL,sDelphi7PathMenuBPL  : string;
    begin
       sDelphi7Path:=ReadRegistryValues('\Software\Borland\Delphi\7.0',FALSE,'RootDir',1,TRUE);{<-- returns the 'C:\Program Files\Borland\Delphi7' }

      {#1. Install .bpl}
      sDelphi7BPL:=sDelphi7Path+'\Projects\Bpl\Pack.bpl';
      WriteValueToRegisTry('\Software\Borland\Delphi\7.0\Known   Packages',FALSE,sDelphi7BPL,'Delphi 7 compo Bpl File'); {<-- writes to the registry}

      fileSource:=ExtractFilePath(Application.ExeName)+'\Packages\comPack.bpl';
      fileDest:=sDelphi7BPL;
      CopyFile(PChar(fileSource), PChar(fileDest), False);
      end;

这很好用 ![在此输入图像说明] [2] C:\Program Files\Borland\Delphi7\Projects\Bpl\Pack.bpl。  但组件安装了标识hidden

任何人都可以告诉我unhide安装component的方法吗?

修改

可能有用:

1)我已经拥有该组件的bpl文件,因此我将直接复制到delphi 7目录C:\Program Files\Borland\Delphi7\Projects\Bpl并修改注册表HKEY_CURRENT_USER\Software\Borland\Delphi\7.0\Known Packages

2)组件的register过程

 implementation
 procedure Register;
  begin
      RegisterComponents('comp', [Tcomp]);
  end;

1 个答案:

答案 0 :(得分:8)

在注册表中的HKEY_CURRENT_USER\Software\Borland\Delphi\7.0\Palette下,找到名为'comp.Hidden'的条目并对其进行编辑以删除组件的类名(或完全删除条目)。