Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Mein guter Freund Mr. ShellExecute (https://www.delphipraxis.net/143517-mein-guter-freund-mr-shellexecute.html)

alphanumeric 17. Nov 2009 16:19


Mein guter Freund Mr. ShellExecute
 
Hallo zusammen,

Ich häng seit ca ner halben stunde im Internet rum und such danach wie ich mithilfe von ShellExecute eine Datei in einem bestimmten Programm öffne. Geht hierbei um ne PDF, die nicht im standardprogramm alias Acrobat sondern im PDF Xchange-Viewer geöffnet werden soll.

das ganze hab ich so begonnen:


Delphi-Quellcode:
    ShellExecute(Application.Handle, 'open', PWideChar(_installpath+'PDFXCview.exe'),PWideChar(_installpath+'Report.pdf') , nil, SW_NORMAL);
_installpath wird aus der registery rausgezogen und die dateinamen werden halt noch angehangen, wie bring ich den jetz dazu, dass der mir meinen Report.pdf mit PDFXCview.exe startet?



Gruß
alphanum

DeddyH 17. Nov 2009 16:21

Re: Mein guter Freund Mr. ShellExecute
 
Eigentlich sieht der Aufruf in Ordnung aus. Was passiert denn? Gar nichts oder wird die PDF doch mit Adobe gestartet?

Tyrael Y. 17. Nov 2009 16:24

Re: Mein guter Freund Mr. ShellExecute
 
Liegt die PDFXCview.exe und Report.pdf wirklich im _installpath?

alphanumeric 17. Nov 2009 16:25

Re: Mein guter Freund Mr. ShellExecute
 
Der Xchange viewer startet, allerdings ohne die datei

Jo die Dateien liegen beide wirklich drin. wie gesagt, programm startet, aber report wird ned gestartet.

DeddyH 17. Nov 2009 16:28

Re: Mein guter Freund Mr. ShellExecute
 
Vielleicht erwartet der Xchange viewer den Parameter in einem bestimmten Format. Klappt es, wenn Du den Befehl über Start-Ausführen absetzt?

[edit] Oder wenn Du den gesamten Parameter einmal in Anführungszeichen einschließt, falls Deine Variable Leerzeichen enthält? [/edit]

Neutral General 17. Nov 2009 16:30

Re: Mein guter Freund Mr. ShellExecute
 
oder falls Leerzeichen im Pfad sind empfehle ich:

Delphi-Quellcode:
ShellExecute(Application.Handle, 'open', PWideChar(_installpath+'PDFXCview.exe'),PWideChar('"'+_installpath+'Report.pdf"') , nil, SW_NORMAL);
Roter Kaste aka DeddyH: :twisted:

DeddyH 17. Nov 2009 16:32

Re: Mein guter Freund Mr. ShellExecute
 
:tongue: :lol:

alphanumeric 17. Nov 2009 16:33

Re: Mein guter Freund Mr. ShellExecute
 
die leerzeichen warens, nun funktioniert es, vielen dank! :)

himitsu 17. Nov 2009 16:54

Re: Mein guter Freund Mr. ShellExecute
 
ShellExecute + PWideChar :?:

Laß diesen Code mal durch einen "älteren" (nicht Unicode) Compiler laufen!

entweder
ShellExecuteW + PWideChar
ShellExecuteA + PAnsiChar

oder
ShellExecute + PChar


Genau durch solche "Schlampereien" hat man bei späteren Umstellungen, innerhalb des Compilers, enorme Probleme.

alphanumeric 17. Nov 2009 22:45

Re: Mein guter Freund Mr. ShellExecute
 
ich hab die kisten so umgewandelt weil der mir in den parametern nen pwidechar verlangt hat - geht das dann auch als pchar? wenn ja, werd ich das morgen auf arbeit gleich korrigieren, danke :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:40 Uhr.
Seite 1 von 2  1 2      

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