AcroPDF查看器的不寻常行为

问题描述:

我正在研究一个旧的VB6应用程序,我试图在我的应用程序中包含一个.pdf查看器。以前我们使用.snp扩展名,但是,我们决定切换到PDF,因为Win10不喜欢.snp。AcroPDF查看器的不寻常行为

无论如何,我试图在我的表单中有两个控件,1个用于捕捉,1个用于pdf,因此我使用捕捉查看器和AcroPDF查看器。我使用的AcroPDF组件名称是

的Adobe Acrobat 7.0浏览器控件的类型库1.0

上的Form_Load我检查扩展,并根据它是什么,这就是我显示控制。

这里有趣的部分 - 当我创建一个.exe并运行它时,它就像一个魅力,没有任何问题。我得到的奇怪行为是,当我将它从IDE中运行出来时,无论我是否尝试查看.pdf或.snp文件,都会得到一个空的消息框。另外,如果它恰好是一个.pdf文档,它不会在查看器中显示任何内容,但是,捕捉工作。

这里的消息框的图像... enter image description here

我没有做的形式加载任何异常这个......,我只是检查扩展,要么使其设置为可见或不可见。 ..For目录,我做这样的事情..

pdfViewer.src = C://...directory 

就像我说的,当用完的.exe的这个工作正常,但让我跑出来的IDE当消息框>任何帮助将不胜感激。

PDF问题可能是因为Adobe已将库迁移到64位,这打破了与应用程序(使用此组件的任何编程语言编写)的兼容性。 一个简单的解决方案是避免在项目中添加Adobe库的引用(早期绑定),并使用后期绑定,如下面的文章所述(带有VB6.0和VB.NET的示例项目),在那里你可以在表格或图片框加载PDF:

PDF在VBForm没有OCX/DLL(后期绑定)

http://nuke.vbcorner.net/Articles/VB60/PDFinVBFormwithnoOCXDLLlatebinding/tabid/120/language/en-US/Default.aspx

+0

好像好消息,但不知道这是否说明了IDE与编译的差异与OP提到的 – DaveInCaz

+0

YE问题是运行它的IDE在哪里我得到消息框,从.exe开始工作正常。我遇到过一些文章,人们无法使用acroPDF与Adobe的11.0.0.7更新,但在这种情况下,除了IDE以外,一切正常。所以我不确定发生了什么事。 – BobSki

+0

我想我不确定我会如何使用它。如果我想在我的表单中使用PDFviewer,我将如何处理它 - 我删除了控件并取消选中引用,并且此代码编译良好,但我不确定除了添加必要的代码。 – BobSki