Bonjour
J 'essaie de partager des informations entre processus. Voici comment je crée la mémoire et la vue d'un coté
et de l'autre voici comment j'ouvre un mapping et la vue associée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 //----------------------------------------------------------------------- // Création d'une zone de mémoire partagée pour les échanges IHM->Vision hMemIhm=CreateFileMapping( INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, sizeof(TAction), NOM_MEM_PARTAGEE_VERS_IHM ); if(hMemIhm==NULL) { myErrExit("IHM: Erreur creation mapping memoire ihm!\n"); } else fprintf(stdout,"IHM: Mapping cree, creation vue ihm\n"); // Création d'une vue dans cette mémoire partagée pBufIhm=(TAction*)MapViewOfFile(hMemIhm,FILE_MAP_ALL_ACCESS,0,0,sizeof(TAction)); if(pBufIhm==NULL) { myErrExit("IHM: Erreur creation vue mapping ihm !\n"); } else fprintf(stdout,"IHM: Vue mapping creee, creation mem vision\n"); pBufIhm->action=BTN_VALID_ESPECE; pBufIhm->espece=123456;
mon fprintf me donne: Action=0, esp=0
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 //---------------------------------------------------------------- // Connexion à la zone de mémoire partagée en provenance de l'IHM hMemIhm=OpenFileMapping(FILE_MAP_ALL_ACCESS,FALSE,NOM_MEM_PARTAGEE_VERS_VISION); if(hMemIhm==NULL) { myErrExit("CLIENT: Erreur connexion mapping memoire action!\n"); } else fprintf(stdout,"CLIENT: Mapping action connectee, ouverture vue\n"); // Création d'une vue dans cette mémoire partagée pBufIhm=(TAction*)MapViewOfFile(hMemIhm,FILE_MAP_ALL_ACCESS,0,0,sizeof(TAction)); if(pBufIhm==NULL) { myErrExit("CLIENT: Erreur creation vue mapping memoire action!\n"); } else fprintf(stdout,"CLIENT: Vue mapping action creee, connexion even vision\n"); fprintf(stdout,"Action=%d, esp=%d\n",pBufIhm->action,pBufIhm->espece);
pourquoi?
merci de votre aide
Partager