回答
你並不需要所有的跳轉赴湯蹈火你在幹什麼。 Windows會爲您找到與PDF文件關聯的應用程序。
procedure TForm1.Button1Click(Sender: TObject);
var
s: String;
Ret: DWord;
begin
s := 'C:\MyFiles\MyFile.pdf';
Ret := ShellExecute(Handle, nil, PChar(s), nil, nil, SW_SHOW);
if Ret < 32 then
ShowMessage(SysErrorMessage(GetLastError));
end;
注:通常你應該從未呼叫而不檢查返回值的WinAPI的功能。在這種情況下,您將知道它是否無效,因爲PDF無法打開。
錯誤處理已中斷。不能在ShellExecute中使用GetLastError。爲了正確報告,請使用ShellExecuteEx。 –
要嵌入PDF,第2個想法浮現在腦海中會
1)搜索,支持PDF文件的COM對象 - 製作一個快速的搜索:http://www.biopdf.com/guide/com_interface.php,但似乎其他。
2)最差的情況下,你可以嵌入具有沿着這些線路的HTML代碼中有一個網絡面板:
<object data="test.pdf" type="application/pdf" width="500" height="300"> alt : <a href="test.pdf">test.pdf</a> </object>
這兩點都可悲地與問題無關。 –
@ArnaudBouchez是不是指OP的第二個問題? –
@RenéHoffmann我永遠不會使用HTML面板在應用程序中嵌入pdf。正確的方法是使用ActiveX IMHO,例如作爲https://www.youtube.com/watch?v=n8qDdal-6mY –
感謝您的答案,但我最終得到它(幾年來一直沒有使用德爾福,忘記了用途)。
這就是:「點擊按鈕後,從目錄打開PDF文件。」
uses shellApi;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShellExecute(Handle, 'open', 'C:\pathwaytopdf.pdf', nil, nil, SW_SHOWNORMAL);
end;
end.
謝謝你的答案。
- 1. 德爾福XE8 XML解析
- 2. 我如何加載圖像到德爾福XE8的一個apk
- 3. 德爾福XE8奇怪的標題
- 4. 德爾福加載XML
- 5. 德爾福XE8錯誤閱讀從德爾福7版本創建的文本文件,反之亦然
- 6. 德爾福PDF縮略圖
- 7. 德爾福PDF格式代
- 8. RestRequest下載文件德爾福XE7
- 9. 德爾福7德爾福XE2 res文件問題
- 10. 德爾福v.Word - 如何從德爾福
- 11. 德爾福HID Delphi7和德爾福XE2
- 12. 德爾福XE2無法加載CnPack
- 13. 德爾福2010 - 無法加載SSL LIB
- 14. Excel加載 - 德爾福equivilent到VB
- 15. 加載圖片到圖像德爾福
- 16. 德爾福XE8破解異常處理Android
- 17. 隱藏在Android中的鍵盤德爾福XE8
- 18. 德爾福XE8 TThread在Android上凍結,但在Windows上工作
- 19. 從德爾福XE8服務訪問SQL Server 2008 R2
- 20. 德爾福XE8 DataSnap服務器返回並釋放T流
- 21. 德爾福XE8:內存泄漏與方法datasnap服務器
- 22. 德爾福2010年應用程序加載一個德爾福7 DLL
- 23. 德爾福7 - >無法加載從資源文件
- 24. 德爾福。 SynEdit - 加載大文件。虛擬模式?
- 25. 德爾福HTTP應用程序時加載文件到流
- 26. 德爾福好的免費PDF庫
- 27. 德爾福保存到文本文件
- 28. 德爾福
- 29. 與德爾福
- 30. 與德爾福
不客氣! –
你並沒有試圖做這樣的事情。程序不返回值,所以沒有* Result *可用。你分配給* s *的是無稽之談;它與PDF文件的有效名稱沒有任何關係。以實際編譯的形式發佈您嘗試使用的**實際代碼**。此外,這是*問題和答案*網站,而不是*問題*。如果您有多個問題,請創建多個帖子來詢問他們,除非他們密切相關。在這種情況下,它們不是,因爲其中一個是關於打開一個可以在API中正常工作的PDF,另一個是關於嵌入的,而不是。 –
您是否安裝了Adobe Acrobat的完整版本?我問的原因是,如果你這樣做,可以使用它的自動化對象來打開PDF文件並將其顯示在Delphi應用程序託管的窗口中。如果這就是你想要做的,發佈一個新的問題,具體問如何做到這一點。還有其他方法,但只有這個方法才能像Acrobat那樣呈現文檔。 – MartynA