Variable modifiable simultanement via activeX

Signaler
Messages postés
1
Date d'inscription
lundi 31 juillet 2006
Statut
Membre
Dernière intervention
31 juillet 2006
-
Messages postés
792
Date d'inscription
vendredi 4 mars 2005
Statut
Membre
Dernière intervention
12 juin 2012
-
Bonjour tout le monde,

je sais que les controles activeX marche en mode client serveur pour l'echange de données,
j'aurai besoin de savoir s'il était possible de faire un objet dont on peut modifier une propriete
dans n'importe lequel des deux logiciels utilisant l'objet activeX.

Pour exemple, j'utilise une valeur d'une case d'un fichier Excel dans mon programme Labview,
mais quand je modifie cette valeur dans labview, j'aimerai qu'elle se modifie aussi dans Excel,
Est ce que vous pensez cela possible?

merci merci

2 réponses

Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
47
salut,
si ton fichier excel est accessible en multi-utilisateurs et modifiable en direct, alors c'est l'objet labview qui devra modifier excel.
l'activex est instancié par ton projet. donc 2projets = 2instanciations.
les variables qu'ils contiennent leurs sont propres

++
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
Messages postés
792
Date d'inscription
vendredi 4 mars 2005
Statut
Membre
Dernière intervention
12 juin 2012
5
Salut 830623 davdav13, salut =401740 PCPT,

401740 PCPT dit vrai (c'est une variante).

Ceci dit, la question de =830623 davdav13 n'est pas tout a fait adaptée à l'exemple qu'il fournit (ou le contraire).

En effet, il parle d'un objet ActiveX, modifiable à partir de 2 logiciels différents (ça fait 3 instances) : ça c'est possible, un peu complexe, mais possible.
Il suffit pour cela que l'ActiveX en question ait une existance autonome, et de chacun des logiciels, on pointe vers la même instance de l'ActiveX (par exemple avec un GetObject). Il existe même une façon de mal coder ses ActiveX qui fait que toutes les instances de celui-ci partagent la même zone mémoire!

Enfin, s'il n'est pas question d'une 3ème instance (d'un ActiveX autonome), mais juste de LabView et d'Excel, suivant l'OS que tu utilises, il existe le canal DDE (Dynamic Data Exchange) qui est, plus ou moins, bi-directionnel (mais pas très stable[ou fiable, je ne sais plus lequel des 2] sous XP).

Qu'on ne s'y trompe pas, si PCPT n'en parle pas, c'est parce qu'il s'agit là d'une vieille technologie, mais encore très utilisée en industrie, automatisme, et bancs de test.

Voilà, Excel supporte DDE, et Labview aussi !

rvblog<sup>n
Je veux ton bien....et je l'aurais....mais jamais avant la page 4 des derniers échanges</sup>