Interface DDE

23.08.2021

DDE (Dynamic Data Exchange) est un échange dynamique de données entre applications Windows. Une application client qui initie l'échange est nécessaire. Une application serveur est également nécessaire pour servir les informations demandées ou exécuter les actions demandées. FlexPro peut fonctionner comme un serveur pour la communication DDE et peut exécuter les commandes qui sont envoyées par le client. Un client typique serait, par exemple, une application Visual Basic qui accepte les données d'un appareil, enregistre les informations dans un fichier et commande à distance FlexPro pour l'évaluation et la documentation des données.

Remarque :   La dernière interface FlexPro Automation offre plusieurs options plus complètes pour la communication entre FlexPro et une application client. Il est recommandé d'utiliser l'interface DDE.

Configuration, interaction et terminaison de la connexion

Pour pouvoir exécuter les fonctions FlexPro à partir d'autres programmes Windows qui prennent en charge la communication DDE en tant que client, vous devez d'abord établir une connexion DDE. Pour ce faire, il faut envoyer le message WM_DDE_INITIATE, où "FlexPro" ou "FlexPro 13"est spécifié comme l'application et "SYSTEM" est spécifié comme le sujet. Si une connexion est établie avec succès, un accusé de réception est envoyé par le biais d'un message WM_DDE_ACK. Si vous avez fourni un numéro de version, la connexion ne sera réussie que si cette version particulière de FlexPro est installée.

Un nombre quelconque de commandes peuvent ensuite être envoyées à FlexPro pour être exécutées à l'aide du message WM_DDE_EXECUTE. Il est également possible d'envoyer plusieurs commandes avec un seul message. Lorsqu'une commande est correctement reçue, cela est confirmé par un message WM_DDE_ACK. Il y a également une confirmation si les commandes reçues ne peuvent pas être exécutées correctement.

Lorsque l'application client a envoyé toutes les commandes souhaitées à FlexPro, la communication DDE est terminée par l'envoi du message WM_DDE_TERMINATE.

Exemple en Visual Basic

Voici un bref exemple de la manière dont la communication DDE utilisée pour l'impression d'un document peut être réalisée au moyen d'une application client en Visual Basic :

Sous Document_Click ()

Const NONE = 0, LINK_MANUAL = 2 ' Constantes

Dim Cmd, Z ' Variables

 

' Combinez les commandes :

Cmd = "[open(""c:\Project Databases\Test.fpd")]"

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

Cmd = Cmd & "[update]"

Cmd = Cmd & "[print]"

Cmd = Cmd & "[closeobjects]"

Cmd = Cmd & "[close]"

Si Text1.LinkMode = NONE alors

    Z = Shell("FlexPro", 4)                       ' Démarrer FlexPro

    Text1.LinkTopic = "FlexPro 11|System" ' Set LinkTopic

    Text1.LinkItem = "" ' LinkItem

    Text1.LinkMode = LINK_MANUAL ' Mode de liaison

End If

Text1.LinkExecute Cmd ' Exécuter les commandes

End Sub

Cette sous-routine peut être appelée, par exemple, si les données sources sur lesquelles le document est basé ont été écrasées par un programme d'acquisition de données.

Avec les commandes disponibles, il est possible d'ouvrir et de fermer des bases de données projet, d'ouvrir, de mettre à jour, d'imprimer et de fermer un objet dans la base de données projet, ainsi que d'activer des dossiers.

Les commandes énumérées ici peuvent, comme décrit ci-dessus, être envoyées à FlexPro avec un message WM_DDE_EXECUTE, individuellement ou groupées.

Remarque :   Dans FlexPro, il est fondamentalement possible de travailler simultanément avec plusieurs bases de données projets. Ceci n'est pas possible dans le cadre de la communication DDE, car la base de données projet à laquelle il est fait référence devrait être spécifiée à chaque commande, sauf lors de l'ouverture d'une base de données projet.

Jeu de commandes DDE

commande activatefolder

commande de fermeture

commande closeobjects

commande de sortie

commande ouverte

commande openobject

commande d'impression

commande de mise à jour

Partager l’article ou envoyer par mail :

Vous serez probablement intéressé par les articles suivants :