Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
J'ai écrit que CMemMapFile::Open renvoie un code d'erreur ou 0 lorsqu'il n'y a pas d'erreur.
Au début de la conversation, j'ai posté une capture d'écran de ce que la fonction CMemMapFile::Open renvoie.
C'était 0, comme s'il n'y avait pas d'erreur.
Puis j'ai corrigé pour voir si le handle était NULL.
et comme résultat j'ai obtenu
2016.03.04 19:00:00.897 BuyNow Client v 1.03 USDCHF.m,M5 : BuyNow Client v 1.03.mq4, handle=8589934592
Il n'y a pas d'erreur, il y a un handle, de quoi d'autre avez-vous besoin, me direz-vous... mais personne n'a créé l'affichage du fichier... Et il est impossible d'ouvrir un mapping qui n'a pas été créé.
Ou peut-être que ce mapping a été créé par quelqu'un d'autre et que je n'en ai pas connaissance ????
Un programme crée un affichage avec ce nom exact :-)
Dmitry Luck'janenko:
Ou peut-être que ce mapping a été créé par quelqu'un d'autre et que je n'en ai pas connaissance ?
Un programme crée un mapping avec ce nom exact :-)
Eh bien, vous avez créé quelque chose vous-même avant cela )
Le logiciel fonctionne avec la mémoire comme ça. Il n'efface rien d'un coup. C'est pourquoi les anciennes données peuvent rester en place et être ouvertes.
Mais lorsqu'elles sont écrasées, elles ne s'ouvrent pas. Vous n'avez probablement rien fait entre les ouvertures.
Excellente bibliothèque, je l'ai utilisée avec des mutex pour écrire un copieur local.
En tant que composant important pour le récepteur, j'ai obtenu la taille du fichier et j'ai construit une boucle à partir de celle-ci,
J'ai trouvé quelques bugs - ArrayOutOfRange ou manque de 4 octets.
Corrigé
Si je crée une MMF avec MQL5 et que j'y écris, puis que je la lis.
Mais si je crée une MMF avec un autre programme, une erreur critique se produit lorsque j'essaie d'écrire ou de lire à partir de cette MMF.
Quel est le problème ?
Si je crée une MMF avec MQL5 et que j'y écris, puis que je la lis.
Mais si je crée une MMF avec un autre programme, une erreur critique se produit lorsque j'essaie d'écrire ou de lire à partir de cette MMF.
Quel est le problème ?
Le club des télépathes s'efforce de deviner le numéro de l'erreur critique.
Le club des télépathes tente de deviner le numéro de l'erreur critique.
Message d'erreur critique MT5 sans code d'erreur. S'il y avait un code, il serait indiqué.
Mais si j'ai créé le MMF avec un autre programme, lorsque j'essaie d'écrire ou de lire à partir du MMF, une erreur critique se produit.
Quel est le problème ?
- vérifier qu'il n'y a pas d'erreurs lors de l'ouverture du fichier
- vérifier le volume alloué disponible pour la lecture/écriture dans toutes les fonctions de travail avec des tableaux/chaînes (prendre en compte 2 octets)
etc.
Problème résolu.
Il est nécessaire d'écrire et de lire les fichiers MMF par une application tierce à partir de 4 octets, et non de 0.
Et pour MT5, 4 octets ne sont pas comptés, même si l'offset est de 0.
C'est pourquoi, lorsqu'un programme tiers écrivait à partir de 0 octet, une erreur se produisait lors de la lecture du MT5.
Problème résolu.
Il est nécessaire d'écrire et de lire les fichiers MMF par une application tierce à partir de 4 octets, et non de 0.
Et pour MT5, 4 octets ne sont pas comptés, même si l'offset est de 0.
C'est pourquoi lorsque j'avais un programme tiers qui écrivait à partir de 0 octet, lorsque j'essayais de lire MT5, une erreur se produisait.