我正在为delphi 7
开发一个组件,为了快速安装而不必操作IDE
,我正在根据Marjan Venema在Stack Overflow上的答案制作一个简单的安装程序。
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
。
但安装时组件的ID是hidden
有没有人能告诉我如何在安装时unhide
组件?
编辑
可能有用:
1)我已经有该组件的文件,因此直接复制到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;
procedure Register
方法中所放置的代码吗? - LaKravenprocedure Register
。 - PresleyDiasinterface
部分中有procedure Register;
。 - PresleyDias