Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Ich schrieb, dass CMemMapFile::Open einen Fehlercode oder 0 zurückgibt, wenn kein Fehler vorliegt.
Zu Beginn der Konversation habe ich einen Screenshot gepostet, was die Funktion CMemMapFile::Open zurückgibt.
Es war 0, als ob es keinen Fehler gäbe.
Dann habe ich es korrigiert, um zu sehen, ob das Handle NULL ist.
und als Ergebnis bekam ich
2016.03.04 19:00:00.897 BuyNow Client v 1.03 USDCHF.m,M5: BuyNow Client v 1.03.mq4, handle=8589934592
Es gibt keinen Fehler, es gibt ein Handle, was brauchen Sie noch, werden Sie sagen... aber niemand hat die Dateianzeige erstellt... Und es ist unmöglich, ein Mapping zu öffnen, das noch nicht erstellt wurde.
Oder vielleicht wurde dieses Mapping von jemand anderem erstellt und ich weiß nichts davon????
Irgendein Programm erstellt eine Anzeige mit genau diesem Namen :-)
Dmitry Luck'janenko:
Oder vielleicht wurde dieses Mapping von jemand anderem erstellt und ich weiß nichts davon...?
Irgendein Programm erstellt ein Mapping mit genau diesem Namen :-)
Na ja, du hast ja vorher selbst etwas erstellt )
die Software arbeitet einfach so mit dem Speicher. Sie löscht nicht alles auf einmal. Deshalb können alte Daten hängen bleiben und geöffnet werden.
Aber wenn es überschrieben wird, lässt es sich nicht öffnen. Du hast wahrscheinlich nichts zwischen den Öffnungen gemacht.
Ausgezeichnete Bibliothek, habe sie zusammen mit Mutexen benutzt, um einen lokalen Kopierer zu schreiben
Als wichtige Komponente für den Empfänger habe ich die Dateigröße ermittelt und daraus eine Schleife gebaut,
Ich habe ein paar Fehler gefunden - ArrayOutOfRange oder fehlende 4 Bytes.
Behoben
Wenn ich ein MMF mit MQL5 erstelle und darin schreibe und es dann lese.
Wenn ich jedoch ein MMF mit einem anderen Programm erstelle, tritt beim Versuch, es zu beschreiben oder zu lesen, ein kritischer Fehler auf.
Worin besteht das Problem?
Wenn ich ein MMF mit MQL5 erstelle und darin schreibe und es dann lese.
Wenn ich jedoch ein MMF mit einem anderen Programm erstelle, tritt beim Versuch, es zu beschreiben oder zu lesen, ein kritischer Fehler auf.
Wo liegt das Problem?
Der Club der Telepathen bemüht sich, die Nummer des kritischen Fehlers zu erraten.
Der Club der Telepathen versucht angespannt, die Zahl des kritischen Fehlers zu erraten.
MT5 kritische Fehlermeldung ohne Fehlercode; wenn es einen Code gäbe, würde er angezeigt.
Wenn ich jedoch ein MMF mit einem anderen Programm erstellt habe, tritt beim Versuch, es zu beschreiben oder zu lesen, ein kritischer Fehler auf.
Wo liegt das Problem?
- Prüfen Sie, ob beim Öffnen der Datei keine Fehler auftreten
- Prüfen Sie das verfügbare zugewiesene Volumen für das Lesen/Schreiben in allen Funktionen der Arbeit mit Arrays/Strings (berücksichtigen Sie 2 Bytes)
usw.
Problem gelöst.
Es ist notwendig, MMF-Dateien durch eine Drittanbieter-Anwendung zu schreiben und zu lesen, beginnend mit 4 Bytes, nicht mit 0.
Und für MT5 werden 4 Bytes nicht gezählt, auch wenn der Offset 0 ist.
Deshalb trat ein Fehler auf, wenn ein Drittanbieterprogramm ab 0 Byte schrieb und versuchte, MT5 zu lesen.
Problem gelöst.
Es ist notwendig, MMF-Dateien durch eine Drittanbieter-Anwendung zu schreiben und zu lesen, beginnend mit 4 Bytes, nicht mit 0.
Und für MT5 werden 4 Bytes nicht gezählt, auch wenn der Offset 0 ist.
Wenn ich also ein Drittanbieterprogramm hatte, das ab 0 Byte schrieb, trat beim Versuch, MT5 zu lesen, ein Fehler auf.