Delphi - 使用Internet Explorer打开PDF失败

时间:2015-07-24 10:45:36

标签: delphi internet-explorer debugging pdf

我们在程序中打开了一个在线pdf文件:

ShellExecute(Handle, nil, PChar( URL ), nil, nil, SW_SHOWNORMAL);

这应该使用标准浏览器打开pdf。这适用于FireFox。但是,默认情况下,Internet Explorer存在以下问题:

如果IE尚未启动,IE将打开pdf。如果IE已经运行,那么什么也没发生。

但是 - 如果我们在调试器中启动程序就可以了!

知道可能是什么原因以及如何避免它?

(我知道作为一种解决方法,我可以尝试先下载pdf并从本地文件夹中打开它 - 但我还没有尝试过。)

1 个答案:

答案 0 :(得分:0)

我现在偶然发现了问题的原因。 我们打开了2个网址(我没有在问题中写出来,因为我觉得它并不重要)。一个是打开一个网站以获取更多信息 - 另一个是打开PDF。 如果Internet Explorer正在运行,它将获取第一条消息以打开URL。当IE忙时,它似乎忽略了所有其他传入消息。因此,打开PDF的调用将被忽略。

这也是它在调试器中工作的原因。该程序慢一些。

所以我在打开第二个URL之前等了0.5秒。一切似乎都很好。