L'auteur
dridbul2 Maroc Membre Simple # 0000003037 enregistré le 28/01/2011
62 ans DRIDBA Omar 20100 Casablanca de la société SAFILAIT S.A Fiche personnelle
Note des membres
pas de note
|
Contributions > 09 - Automation
Test d'instanciation d'une application
# 0000000781
ajouté le 28/01/2011 12:39:33 et modifié le 28/01/2011
consulté 7023 fois
Niveau
initié
Version(s) Foxpro : VFP 9.0
Le téléchargement des pièces jointes est limité aux membres Veuillez vous identifier ou vous inscrire si vous n'avez pas encore de compte ...
|
Description |
Eviter de lancer plusieurs instances d'une application à l'aide du serveur DDE
|
Code source : |
m.mon_appl="toto"
=DDEsetOption("SAFETY",.F.)
v_Canal = DDEInitiate(mon_appl, "system")
v_Retour = DDElastError()
=DDEsetOption("SAFETY",.T.)
if v_Retour = 0
* Service déjà lancé ...
=ddeterminate(v_Canal)
* demander à l'autre instance de l'application de zoommer
v_Canal = DDEInitiate(mon_appl, "ACTIONS")
=DDEEXECUTE(v_Canal, "ZOOM")
=ddeterminate(v_Canal)
* sortir
QUIT
else
* démarrage d'un serveur DDE
=ddesetservice(mon_appl,'DEFINE')
=ddesetservice(mon_appl,'EXECUTE', .T.)
=ddesetTopic(mon_appl, "ACTIONS", "ProcActions")
endif
* ne pas oublier d'arrêter (à la sortie de l'pplication) l'instance DDE de l'application
* Instruction =ddesetservice(mon_appl, "RELEASE")
|
Commentaires |
|
Le probleme est qui si l'application plante, le DDE ne sera jamais détruit.