Partage de variables entre plusieurs exécutables ?

matthius25 Messages postés 3 Date d'inscription vendredi 18 avril 2003 Statut Membre Dernière intervention 23 juillet 2003 - 5 mai 2003 à 12:28
CoreBreaker Messages postés 540 Date d'inscription dimanche 23 mars 2003 Statut Membre Dernière intervention 5 octobre 2007 - 7 mai 2003 à 05:49
Bonjour ,
Mon problème est le suivant : j'ai deux applications : 1 pour récupérer des données d'une page internet, et 1 autre pour dialoguer avec un API (Automate Programmable Industriel) via un serveur OPC. Les données (de la page internet)récupérées servent à l'application dialogue automate. Comment faire pour partager ces données entre les deux éxécutables ? Faut-il absolument passer par du multi-thread ?
Merci d'avance à ceux qui me répondront .
@+ Matthius

3 réponses

matthius25 Messages postés 3 Date d'inscription vendredi 18 avril 2003 Statut Membre Dernière intervention 23 juillet 2003
5 mai 2003 à 12:28
-------------------------------
Réponse au message :
-------------------------------

> Bonjour ,
> Mon problème est le suivant : j'ai deux applications : 1 pour récupérer des données d'une page internet, et 1 autre pour dialoguer avec un API (Automate Programmable Industriel) via un serveur OPC. Les données (de la page internet)récupérées servent à l'application dialogue automate. Comment faire pour partager ces données entre les deux éxécutables ? Faut-il absolument passer par du multi-thread ?
> Merci d'avance à ceux qui me répondront .
> @+ Matthius
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
5 mai 2003 à 13:14
Le multi-thread n'a pas de rapport avec le partage de donnees inter processus. Plusieurs methodes existent, dans ton cas je ferai un FileMapping nommé directement dans le fichier d'echange du systeme.
CreateFileMapping(...)
MapViewOfFile(...)
UnmapViewOfFile()
OpenFileMapping()
CloseHandle()
Avec cela tu as ce qu'il faut, regarde msdn pour details.
BruNews, ciao...
0
CoreBreaker Messages postés 540 Date d'inscription dimanche 23 mars 2003 Statut Membre Dernière intervention 5 octobre 2007 1
7 mai 2003 à 05:49
Non mais tu vas devoir utiliser un sémaphore afin de gérer les accès concurent.
Pour partager des variables il faut que tu passes par un programme jouant de serveur de ces variable et passer par un file-mapping car un file-mapping peut être partagé entre application, sinon il y a les pipes ou les sockets dirigés vers se programme serveur.
Le plus simple est de faire une DLL avec des variables partagées, en utilisant les fonctions TlsXXX
Core Breaker :)
0
Rejoignez-nous