Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi PDF aus Delphi heraus öffnen (https://www.delphipraxis.net/59655-pdf-aus-delphi-heraus-oeffnen.html)

Matze 26. Dez 2005 16:38


PDF aus Delphi heraus öffnen
 
Hallo :hi:

Ich versuche über

Delphi-Quellcode:
ShellExecute(Application.Handle, 'open', PChar('"' + FileDir + 'helpfile.pdf' + '"'),
  nil, nil, SW_NORMAL);
eine PDF Datei zu öffnen. GetLastError meldet mir nun:

Zitat:

Der angegebenen Datei ist keine Anwendung zugeordnet
Vom Explorer heraus kann ich die PDF per Doppelklick ganz normal im Adobe Reader öffnen. Wie kommt so eine Meldung zustande? Weder Google, noch die DP liefert mir eine Lösung, das scheint ein nicht allzu häufig auftretender Fehler zu sein. :?

Christian Seehase 26. Dez 2005 16:53

Re: PDF aus Delphi heraus öffnen
 
Moin Matze,

laut Dokumentation von ShellExecute, spielt GetLastError hier keine Rolle.
Schau Dir doch noch mal die möglichen Rückgabewerte von ShellExecute an.

BTW:
Was liefert Dir denn

Assoc .pdf

zurück, wenn Du es in einer Konsole ausführst?

Matze 26. Dez 2005 16:59

Re: PDF aus Delphi heraus öffnen
 
Hallo Chris

Zitat:

Zitat von Christian Seehase
Was liefert Dir denn

Assoc .pdf

zurück, wenn Du es in einer Konsole ausführst?

.pdf=pdf_auto_file

Auch unser Hai macht es so wie ich, nur mit SW_SHOW (klick), doch geht das bei mir auch nicht. Es passiert bei mir rein gar nichts.

Neutral General 26. Dez 2005 17:07

Re: PDF aus Delphi heraus öffnen
 
Also bei mir liefert assoc .pdf z.B

Delphi-Quellcode:
 .pdf=AcroExch.Document
das scheint mir so nach "Acrobat Reader Dokument" auszusehen..
Ansonsten geh mal im Explorer auf Extras-> Ordneroptionen->Dateitypen und such dir pdf aus und ordne pdf den Acrobat Reader zu.
Dann müsste es gehen denke ich.

Luckie 26. Dez 2005 17:11

Re: PDF aus Delphi heraus öffnen
 
Da es aus dem Explorer, laut Matze, mit einem Doppelklick geht, ist dem Dateityp pdf auch der Reader als Anwendung zu geordnet.

Matze 26. Dez 2005 17:11

Re: PDF aus Delphi heraus öffnen
 
Zitat:

Zitat von Neutral General
das scheint mir so nach "Acrobat Reader Dokument" auszusehen..
Ansonsten geh mal im Explorer auf Extras-> Ordneroptionen->Dateitypen und such dir pdf aus und ordne pdf den Acrobat Reader zu.
Dann müsste es gehen denke ich.

Die PDF muss aber mit den Adobe Reader verknüpft sein, sonst könnte ich sie aus dem Explorer heraus nicht öffnen. In den Ordneroptionen ist der Adobe Reader 7.0 zugewiesen. Außerdem kann ich dem Anwender auch nicht zumuten, in den Ordneroptionen rumfummeln zu müssen. ;)

mschaefer 26. Dez 2005 18:36

Re: PDF aus Delphi heraus öffnen
 
Moin moin, zusammen

also normalerweise würde ich das auch so angehen wie Matze geschildert hat, aber das Problem kann bei Acrobat liegen.
Probier mal erst den Acrobat zu starten und dann das PDF:

Delphi-Quellcode:
 ShellExecute(0, 'Open', PChar('C:\Program Files\Adobe\Acrobat 7.0\Reader\AcroRd32.exe'), PChar(''), PChar(''), SW_Hide);
 ShellExecute(0, 'Open', PChar('C:\...\prices.pdf'), PChar(''), PChar(''), SW_Normal);
Über die Schöheit / Grausamkeit dieser Lösung brauchen wir aber nicht zu diskutieren.
Wie man aber auf eine bestimmte Seite navigiert da habe ich immer noch keine Ahnung...


Grüße // Martin



PS: Du kanst natürlich PDF auch im TWebBrowser öffnen
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  webbrowser1.Navigate('c:\..\MyPDFFile.pdf');
end;

Matze 26. Dez 2005 21:06

Re: PDF aus Delphi heraus öffnen
 
Hallo Martin,

deine erste Lösung startet zwar den Adobe Reader, jedoch im Hintergrund, d.h. ohne GUI :shock: Doch möchte ich diesen Weg nicht gehen, da nicht jeder den Adobe Reader zum anzeigen von PDF-Dateien nutzt. Und TWebBrowser integrieren muss auch nicht sein, nur um eine PDF öffnen zu können.

Ich bin echt ratlos und kann mir das absolut nicht erklären. :-|


Nachtrag: Achso SW_HIDE, klar sehe ich den nicht. Aber es würde auch nicht gehen.

mschaefer 26. Dez 2005 21:18

Re: PDF aus Delphi heraus öffnen
 
Matze ich habe Dein Problem irgendwo schonmal gesehen und da war die einhellige Meinung, dass es an Acrobat liegt.
Mir würde da leider nur was kommerzielles Einfallen...

Grüße // Martin

Matze 26. Dez 2005 21:28

Re: PDF aus Delphi heraus öffnen
 
Zitat:

Zitat von mschaefer
Mir würde da leider nur was kommerzielles Einfallen...

Danke, doch das kommt für mich nicht in Frage, da ich das für ein Freeware-Programm benötige und es daher nicht einsehe, groß geld dafür auszugeben.

Gibt es denn absolut keine andere Möglichkeit? Vom Explorer kann ich diese Datei ja auch öffnen und da passiert bestimmt auch nichts anderes, als dass dem Reader über den Parameter der Pfad zur Datei übermittelt wird.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:10 Uhr.
Seite 1 von 4  1 23     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz