Code erreur 8 : FILEMAPPING [Résolu]

LaTatadu91 968 Messages postés jeudi 20 mai 2004Date d'inscription 26 avril 2013 Dernière intervention - 25 sept. 2012 à 11:06 - Dernière réponse : LaTatadu91 968 Messages postés jeudi 20 mai 2004Date d'inscription 26 avril 2013 Dernière intervention
- 25 sept. 2012 à 11:37
Bonjour,

Après quelques recherches j'ai trouvé un bout de code très utile me permettant de faire un échange de données important (8Mo) entre 2 applications basées sur MFC.
Le principe est simple, chaque minute l'application 1 envoie un message à l'application 2 via FILEMAPPING, et l'application 2 (après avoir exécuté un algorithme) renvoi par le même biais un message à l'appli 1.

Tout marche à merveille, mais au bout d'un certain temps la fonction :MapViewOfFile me retourne NULL et GetLastError me donne le code 8 ERROR_NOT_ENOUGH_MEMORY.

Je ne comprends pas, j'ai donc créé deux applications très simples s'échangeant 1 int, 1 float, 1 string. et je fais tourner en boucle ... à chaque fois plantage au bout du 30.000 ème message.

Mon algorithme est celui ci (appli 1):
-création de la MAP
-boucle infinie écriture sur la MAP
-Envoi d'un message à l'appli 2
-si demande d'arret unMap...

Si possible je peux mettre mon projet à disposition.

Quelqu'un pourrait-il m'expliquer pourquoi je reçois NULL au bout de 30.000 messages et toujours 30.000?
merci d'avance pour votre aide.


 
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
BruNews 21054 Messages postés jeudi 23 janvier 2003Date d'inscription 7 novembre 2014 Dernière intervention - 25 sept. 2012 à 11:19
3
Merci
Tu as bien 1 UnmapViewOfFile pour CHAQUE MapViewOfFile ?


ciao...
BruNews, MVP VC++

Merci BruNews 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 89 internautes ce mois-ci

Commenter la réponse de BruNews
LaTatadu91 968 Messages postés jeudi 20 mai 2004Date d'inscription 26 avril 2013 Dernière intervention - 25 sept. 2012 à 11:37
0
Merci
Effectivement j'avais fait une grosse erreur, j'avais retiré le unMap à la fin pour des tests(fait il y a plusieurs semaines) et j'avais oublié.
Je venais juste de trouver l'erreur quand j'ai reçu ton message.

Merci.

Du coup, il m'a créé 30.000 file, c'est ça?



 
Commenter la réponse de LaTatadu91

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.