Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Laufendes Delphi-Programm per Maillink steuern (https://www.delphipraxis.net/188949-laufendes-delphi-programm-per-maillink-steuern.html)

norwegen60 21. Apr 2016 16:29

Laufendes Delphi-Programm per Maillink steuern
 
Hallo zusammen,

ich suche nach einer Möglichkeit in einem Mail ein Link zu definieren, der
  • mein Delphi Programm aufruft
  • die geeignete Anwendung in dem Programm (z.B. Dokumenten-Nr.-Verwaltung) aufruft
  • dieses auf den richtigen Datensatz setzt
Problemlos ist das, wenn die Anwendung noch nicht läuft. Wie aber bekomme ich es hin, wenn sie schon läuft und ich nicht eine zweite Instanz starten möchte.

Eine Möglichkeit wäre sicherlich meine Anwendung über ein zusätzliches Hilfsprogramm zu steuern. Gibt es aber eine Möglichkeit, da direkt was zu implementieren?

Grüße
Gerd

Der schöne Günther 21. Apr 2016 16:31

AW: Laufendes Delphi-Programm per Maillink steuern
 
Du meinst eine eigene URL? Wie bspw. "Http://" an deinen Standard-Browser geht und, als Beispiel, Skype sich ein "skype://" krallt?

Code:
dokumentVerwaltung://doc=4711;datensatz=35

Bambini 21. Apr 2016 16:49

AW: Laufendes Delphi-Programm per Maillink steuern
 
Zitat:

Zitat von norwegen60 (Beitrag 1336282)
Hallo zusammen,

ich suche nach einer Möglichkeit in einem Mail ein Link zu definieren, der
  • mein Delphi Programm aufruft
  • die geeignete Anwendung in dem Programm (z.B. Dokumenten-Nr.-Verwaltung) aufruft
  • dieses auf den richtigen Datensatz setzt
Problemlos ist das, wenn die Anwendung noch nicht läuft. Wie aber bekomme ich es hin, wenn sie schon läuft und ich nicht eine zweite Instanz starten möchte.

Eine Möglichkeit wäre sicherlich meine Anwendung über ein zusätzliches Hilfsprogramm zu steuern. Gibt es aber eine Möglichkeit, da direkt was zu implementieren?

Grüße
Gerd

Dazu im HKEY_CLASSES_ROOT\<deine Namespace>\Shell\Open\ddeexec eine DDE Verbindung angeben, die dein Programm mit dem TDDEServerConv dann entgegen nimmt.

rNoob 21. Apr 2016 19:16

AW: Laufendes Delphi-Programm per Maillink steuern
 
Mit ein paar Aufrufparametern und Sendmessage ist das kein Problem:
http://swissdelphicenter.com/de/showcode.php?id=163

Du rufst in der Mail deine Anwendung (zweite Instanz) mit Parametern auf.
In der DPR-Datei prüfst du auf Parameter und schickst sie per Sendmessage an die Anwendung (erste Instanz) und wertest sie dort aus.
Die zweite Instanz schickst du mit z.B. Halt() in Rente, bevor die DRP-Datei verlassen wird und die Anwendung (zweite Instanz) initialisiert wird.

himitsu 22. Apr 2016 09:10

AW: Laufendes Delphi-Programm per Maillink steuern
 
Zitat:

Halt()
Nein.

mquadrat 22. Apr 2016 10:08

AW: Laufendes Delphi-Programm per Maillink steuern
 
Ausführliche Beschreibung in MSDN https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx

Bambini 22. Apr 2016 10:24

AW: Laufendes Delphi-Programm per Maillink steuern
 
Zitat:

Zitat von mquadrat (Beitrag 1336332)

Das Starten des Programmes scheint Gerd wohl schon hinbekommen zu haben, jedoch möchte er verhindern das jeweils eine neue Instanz seines Programmes gestartet wird, wenn man nochmal auf einen Link klickt. Den Umweg über eine 2. Instanz die dann den Job an die 1. Instanz weiter gibt ist ein wenig aufwendig. genau für diesen Fall, sieht Windows es von sich aus schon vor, dies per DDE zu machen.
Windows versucht zuerst die DDEEXEC Verbindung auszuführen und wenn da keiner antwortet, wird die EXE gestartet.
Das Einfachste wäre, auf das DDE Kommando zu antwortet. Delphi hat dafür eine Komponente: TDDEServerConv.

rNoob 22. Apr 2016 11:37

AW: Laufendes Delphi-Programm per Maillink steuern
 
Zitat:

Zitat von himitsu (Beitrag 1336321)
Zitat:

Halt()
Nein.

Erläuterung warum?

himitsu 22. Apr 2016 13:10

AW: Laufendes Delphi-Programm per Maillink steuern
 
Zitat:

Zitat von rNoob (Beitrag 1336350)
Zitat:

Zitat von himitsu (Beitrag 1336321)
Zitat:

Halt()
Nein.

Erläuterung warum?

Delphi-Referenz durchsuchenSystem.Halt

ABNORMAL

rNoob 22. Apr 2016 13:34

AW: Laufendes Delphi-Programm per Maillink steuern
 
Hier wird u.a. auch Halt() benutzt:
http://www.delphipraxis.net/84451-mu...t-starten.html


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:49 Uhr.
Seite 1 von 2  1 2      

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