Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Öffnen von Dokumenten (https://www.delphipraxis.net/86943-oeffnen-von-dokumenten.html)

haentschman 21. Feb 2007 13:30


Öffnen von Dokumenten
 
Hallo alle...

ich muß euch mal belästigen :-D

zur Frage..

ich öffne in meinem Programm diverse Dokumente über

ShellExecute(Application.Handle,'open',PChar(Dokum ent),NIL,NIL,SW_SHOWNORMAL)

1. funktioniert bei mir nur mit registrierten Dateiendungen... kein "Öffen mit" erscheint

2. wenn ich z.b. ein Bitmap mit der zugehörigen Anwendung schon geöffnet habe wird beim nächsten
"Öffnen wollen" eines anderen Bitmaps das Bitmap nicht geöffnet


habe ich irgendwo eine Option übersehen ?

SirThornberry 21. Feb 2007 13:35

Re: Öffnen von Dokumenten
 
du hast nichts übersehen. Wenn mit einer Dateiendung nichts verknüpft ist kann diese nicht geöffnet werden (Müsste aber auch im zurückgelieferten Fehlercode ersichtlich sein). Und das Problem mit dem geöffneten Bitmap hängt mit dem verwendeten Programm zusammen worauf die Windowsapi nunmal keinen Einfluss hat (sondern nur der Programmierer des Programmes der dann wohl einen Mehrfachstart einfach verhindert).

haentschman 21. Feb 2007 13:42

Re: Öffnen von Dokumenten
 
Vielen Dank für die schnelle Reaktion..

Der Mehrfachaufruf wird aber von der Bildbearbeitung unterstützt z.B. aus dem WindowsExplorer...
deswegen habe ich ja gegrübelt und bislang vergeblich herumprobiert.

SirThornberry 21. Feb 2007 13:45

Re: Öffnen von Dokumenten
 
funktioniert der Mehrfachaufruf auch wenn du über "Ausführen" des Startmenüs gehst?

haentschman 21. Feb 2007 13:45

Re: Öffnen von Dokumenten
 
Wenn ich Deine Antwort richtig verstehe ist der Öffnen mit Dialog nicht automatisch implementiert.

--Fehler abfangen---auswerten---Dialog---Anwendung mit Dokument als Anhang öffnen ?

haentschman 21. Feb 2007 13:47

Re: Öffnen von Dokumenten
 
...über Startmenü noch nicht...werde es heute noch ausprobieren.

Danke..

SirThornberry 21. Feb 2007 13:49

Re: Öffnen von Dokumenten
 
Nutze nächstes mal bitte http://www.delphipraxis.net/template.../icon_edit.gif um deinen Beitrag zu ergänzen wenn du vergessen hast etwas anzufügen oder etwas ändern willst.

haentschman 21. Feb 2007 14:01

Re: Öffnen von Dokumenten
 
Danke für den Hinweis...bin noch nicht so erfahren mit Foren

SirThornberry 21. Feb 2007 14:02

Re: Öffnen von Dokumenten
 
Kein problem, daher auch der Hinweis :-D

haentschman 21. Feb 2007 14:11

Re: Öffnen von Dokumenten
 
..bin wieder da.

Wenn ich unter ausführen..

F:\Programme\iGrafx\Image\1.0\IGXIMG.EXE C:\Bilder\Altfeld\DCP_3161.jpg C:\Bilder\Altfeld\DCP_3159.jpg

starte werden alle beiden Bilder geöffnet... :gruebel:

inherited 21. Feb 2007 14:14

Re: Öffnen von Dokumenten
 
Dann soltest du das auch mit ShellExecute machen: Den Pfad zur Executable und als Parameter die Dokumentennamen.

haentschman 21. Feb 2007 14:24

Re: Öffnen von Dokumenten
 
Hallo...

diese Idee hatte ich auch schon...dann aber gleich die nächste Frage aufgeworfen.
Wie bekomme ich heraus mit welcher Anwendung die Dateiendung xyz verknüpft ist ?

inherited 21. Feb 2007 15:24

Re: Öffnen von Dokumenten
 
In der Registry. Wo genau: benutz die Suchfunktion. Mithilfe er Unit "Registry" kannst du die Werte ganz einfach auslesen.

haentschman 21. Feb 2007 15:27

Re: Öffnen von Dokumenten
 
Danke...

haentschman 21. Feb 2007 17:59

Re: Öffnen von Dokumenten
 
Hallo noch einmal...

mir hat es mit dem Mehrfachaufruf einfach keine Ruhe gelassen...
Nach Recherchen bei Google bin ich auf eine Funktion mit der kompletten Fehlerliste von
ShellExecute gestoßen.

Diese habe ich testweise eingebunden.

Ergebnis:

der erste Aufruf des Dokuments ( z.B. Bitmap) funktioniert wie immer.
beim zweiten Aufruf passiert wie immer nichts---> auch kein Fehlercode wird zurückgeliefert !


Die Funktion habe ich mit Spaßparametern beim Aufruf getestet---> Rückmeldung Fehlercode.


:wiejetzt:


bleibt da wirklich nur die Anwendung direkt aufrufen mit den entspr. Parametern ?


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:42 Uhr.

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