Interface DDE
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.