无法在Delphi XE3中添加Acrobat PDF控件

问题描述

我尝试执行以下操作以将Acrobat PDF控件添加到我的Delphi XE3项目中,如下所示:

  1. 在Delphi XE3中,使用“导入组件”->“导入ActiveX控件”,然后选择“ Adob​​e Acrobat 7.0浏览器控件类型库1.0”,它将在“导入”目录下生成AcroPDFLib_TLB.pas。

  2. 然后我构建并安装控件,“ TAcroPDF”将成功安装在“ ActiveX”面板下。

  3. 当我创建一个新表单并将TAcroPDF移到该表单时,我将收到“模块'AcroPDF.dll'中地址6E009996的访问冲突。读取地址00000014”的错误消息。

  4. 我单击“详细信息”按钮,并看到以下错误详细信息:

[6E009996] {AcroPDF.dll} DllGetClassObject + $ 7D54处的未知函数 ... ...

我对此问题进行了更多测试:

  1. 在我的计算机上,还安装了Delphi 5。所以我对Delphi 5做同样的事情。但是一切都很好。可以将AcroPDF控件添加到表单中并显示PDF文档,而不会出现任何问题。

  2. 我尝试在安装了Dephi XE3的另一台计算机上执行相同的操作,然后一切正常。我在两台计算机上检查了Delphi XE3的版本,它们是相同的。两者都是XE3版本17.0.4770.566661

  3. 我尝试在第一台计算机上卸载Acrobat Reader。然后安装最新版本的Acrobat Reader 11.0.8.4,这是Windows XP SP3的最新可用版本。但是仍然会出现相同的错误

谢谢

更新

更多测试:

  1. 在第二台计算机上,如果我调试项目,则可以通过AcroPDF.LoadFile将PDF文件成功加载到控件中。但是,当我退出应用程序时,我将收到错误消息“在0x03251abd发生访问冲突:读取地址0x03251abd'。如果检查堆栈,则会显示
:03251abd
System._IntfClar(???)
:0040c763 @IntfClear + $13
System.Classes.TComponenet.DestroyComponenets
...
  1. 如果我在第二台计算机上构建应用程序,然后将exe复制到第一台计算机,则每当我启动该应用程序时,我都会在“ AcroPDF.dll中的00009996处收到异常EAccessViolation。在模块'中的地址6E009996处访问冲突” AcroPDF.dll'。读取地址00000014“错误消息。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)