Communication OLE

djelangelo Messages postés 3 Date d'inscription mardi 5 février 2008 Statut Membre Dernière intervention 22 octobre 2010 - 22 oct. 2010 à 10:33
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 22 oct. 2010 à 16:56
Bonjour,

Je souhaiterais créer des communications entre un programme Maitre et 10 autres programmes tout cela étant des exe programmés en VB6.

En clair mon programme maitre envoi des données vers un programme ciblé et doit surveiller les états de ces programmes.

Actuellement j'utilise des DDE pour communiquer par l'intermédiaire d'edit, mais cela n'est pas très stable.

Je ne trouve aucun tutoriel traitant de communication OLE entre deux exe VB je tombe surtout sur des aides pour utiliser OLE vers Word, Excel...

Merci d'avance.

3 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
22 oct. 2010 à 15:31
Salut

En effet, les comm OLE sont parfois capricieuses, le principal étant que le serveur soit en fonctionnement avant les clients.
En cas d'échanges bi-latéral, c'est là que ça peut coincer.

Je te préconise de faire dialoguer tes applis par Winsock.
Beaucoup de modifs en perspective, mais ça te garantira la comm.
Se connecter entre eux ne pose pas de problème. Ce que tu dois affiner, c'est la structure des messages que tu vas échanger, sachant que plusieurs trames peuvent se suivre, il est important de pouvoir les découper avec précision.
Exemple de schéma classique de trame :
@mot_clé#Donnée^
où :
@ : borne signifiant 'nouvelle trame'
mot_clé : un mot qui te permettra d'identifier ce qui suit
# : séparateur de 'champ'
Donnée : La donnée sous forme de String
^ : borne de fin
Bien entendu, tu utilises les bornes que tu veux, le principal étant de ne pas retrouver ces symboles parmi tes mot_clé ou tes Données.
Perso, j'utilise Chr$(0), Chr$(1) et Chr$(2)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
djelangelo Messages postés 3 Date d'inscription mardi 5 février 2008 Statut Membre Dernière intervention 22 octobre 2010
22 oct. 2010 à 15:52
Merci pour ta réponse.

J'ai oublier de préciser que tous les programmes se situent sur le même ordinateur...

Apparemment winsock est surtout utilisé pour des application à distance non????
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
22 oct. 2010 à 16:56
Oui, cela fonctionne sur la couche TCP, mais rien n'interdit de fonctionner en local.
Ta machine a pour adresse IP locale 127.0.0.1 (norme)
0
Rejoignez-nous