Delphi 7.0中的ActiveX安装

时间:2012-01-22 10:56:35

标签: delphi activex install

我在项目中使用ActiveX组件。我可以将此组件添加到Visual Studio 2010,2008,Delphi XE2,Visual Basic 6.0中,但我无法将其导入Delphi版本5,6或7中。

这是我的ftp服务器中的activex文件:Active X File

1 个答案:

答案 0 :(得分:3)

好的,我有足够的勇气下载并注册这个OCX,并尝试复制你所做的。是的,我发现了与您报告的行为相同的行为。

所以,我查看了XE2中导入的类型库单元。请记住,在XE2中,组件出现在调色板上。在单位的底部是这段代码:

procedure Register;
begin
  RegisterComponents(dtlOcxPage, [TTAK_Control]);
end;

这个代码在调色板中注册了组件,当在Delphi 6中导入OCX时它就丢失了,这是我唯一需要的旧Delphi。实际上,导入单元中缺少整个TTAK_Control组件。有时导入过程失败。

所以我只是从XE2中取出导入的类型库文件并将其复制到D6中等效单元的顶部。这是名为TAK_ControlBoard_TLB的单位。当我在D6中编译时,由于无法识别UIntPtr,因此存在编译器错误。将其替换为D6中的Cardinal。此时编译成功,组件出现在调色板上。

现在,当我尝试将其添加到表单时,会产生OLE错误,但我无法提供帮助,因为我对该组件一无所知。请注意,XE2和D6都会发生此错误。