DDE-Schnittstelle

07.02.2018
 Automatisierung von Abläufen > Weitere Möglichkeiten > FlexPro mit DDE fernsteuern > DDE-Schnittstelle

DDE-Schnittstelle

<< Klicken, um Inhaltsverzeichnis anzuzeigen >>

  Automatisierung von Abläufen > Weitere Möglichkeiten > FlexPro mit DDE fernsteuern >

DDE-Schnittstelle

DDE (Dynamic Data Exchange) ist ein dynamischer Datenaustausch zwischen Windows-Anwendungen. Für die Durchführung des dynamischen Datenaustausches ist eine Client-Anwendung, die den Austausch initiiert, und eine Server-Anwendung, die die gewünschten Informationen zurück liefert bzw. die gewünschten Aktionen ausführt, erforderlich. FlexPro kann als Server für eine DDE-Kommunikation dienen und Befehle, die vom Client gesendet werden, ausführen. Ein typischer Client ist z. B. eine Visual-Basic-Applikation, die Daten von einem Gerät entgegennimmt, diese in einer Datei abspeichert und FlexPro zur Auswertung und Dokumentation der Daten fernsteuert.

Hinweis   Die modernere Automation Schnittstelle vom FlexPro bietet wesentlich umfassendere Möglichkeiten zur Kommunikation zwischen FlexPro und einer Client-Anwendung. Sie sollten diese der DDE-Schnittstelle vorziehen.

Verbindungsaufbau, Interaktion und Terminierung

Um FlexPro-Funktionen aus anderen Windows-Programmen, die die DDE-Kommunikation als Client unterstützen, ausführen zu können, muss zunächst eine DDE-Verbindung aufgebaut werden. Dies geschieht durch senden der Botschaft WM_DDE_INITIATE, wobei als Applikation "FlexPro" oder "FlexPro 11" und als Thema "SYSTEM" angegeben wird. Falls der Verbindungsaufbau erfolgreich durchgeführt wurde, erfolgt eine Quittierung durch eine WM_DDE_ACK-Botschaft. Wenn Sie eine Versionsnummer angegeben haben, ist der Verbindungsaufbau nur dann erfolgreich, wenn genau diese Version von FlexPro installiert ist.

Anschließend können beliebig viele Befehle mit Hilfe der Botschaft WM_DDE_EXECUTE an FlexPro zur Ausführung gesandt werden. Es ist auch möglich, mit einer Botschaft mehrere Befehle zusammen zu senden. Falls ein Befehl korrekt empfangen wurde, wird dies durch eine WM_DDE_ACK-Botschaft bestätigt. Diese Bestätigung erfolgt auch dann, wenn der oder die empfangenen Befehle nicht korrekt ausgeführt werden können.

Wenn die Client-Anwendung alle gewünschten Befehle an FlexPro abgesetzt hat, wird die DDE-Kommunikation durch senden der WM_DDE_TERMINATE-Botschaft beendet.

Visual-Basic Beispiel

Hier ein kurzes Beispiel, wie eine DDE-Kommunikation, die zum Ausdruck eines Dokuments benutzt wird, mittels einer Client-Anwendung in Visual-Basic realisiert werden kann:

Sub Dokumentiere_Click ()

Const NONE = 0, LINK_MANUAL = 2        ' Konstanten

Dim Cmd, Z                              ' Variablen

 

' Befehle zusammenstellen:

Cmd = "[open(""c:\Projektdatenbanken\Versuch.fpd"")]"

Cmd = Cmd & "[openobject(""Dokument.doc"")]"

Cmd = Cmd & "[update]"

Cmd = Cmd & "[print]"

Cmd = Cmd & "[closeobjects]"

Cmd = Cmd & "[close]"

If Text1.LinkMode = NONE Then

    Z = Shell("FlexPro", 4)                       ' FlexPro starten

    Text1.LinkTopic = "FlexPro 11|System" ' Linkthema setzen

    Text1.LinkItem = ""                    ' Linkelement

    Text1.LinkMode = LINK_MANUAL           ' Linkmodus

End If

Text1.LinkExecute Cmd                      ' Befehle ausführen

End Sub

Ein Aufruf dieses Unterprogramms könnte z. B. erfolgen, wenn die Quelldaten, die dem Dokument zugrunde liegen, durch ein Messwerterfassungsprogramm überschrieben worden wären.

Mit den zur Verfügung stehenden Befehlen ist es möglich, Projektdatenbanken zu öffnen und zu schließen, Objekte in der Projektdatenbank zu öffnen, zu aktualisieren, zu drucken und zu schließen sowie Ordner zu aktivieren.

Die verfügbaren Befehle können, wie oben beschrieben, mit einer WM_DDE_EXECUTE-Botschaft einzeln oder gebündelt an FlexPro gesandt werden.

Hinweis   In FlexPro ist es grundsätzlich möglich, mit mehreren Projektdatenbanken gleichzeitig zu arbeiten. Im Zusammenhang mit der DDE-Kommunikation besteht diese Möglichkeit nicht, da sonst bei jedem Befehl, außer beim Öffnen einer Projektdatenbank, die bezogene Projektdatenbank angegeben werden müsste.

DDE-Befehlssatz

activatefolder-Befehl

close-Befehl

closeobjects-Befehl

exit-Befehl

open-Befehl

openobject-Befehl

print-Befehl

update-Befehl

Share article or send as email:

You might be interested in these articles