Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Ho scritto che CMemMapFile::Open restituisce un codice di errore o 0 se non ci sono errori.
All'inizio della conversazione ho pubblicato uno screenshot di ciò che la funzione CMemMapFile::Open restituisce.
Era 0 come se non ci fosse alcun errore.
Poi l'ho corretto per vedere se l'handle è NULL.
e come risultato ho ottenuto
2016.03.04 19:00:00.897 BuyNow Client v 1.03 USDCHF.m,M5: BuyNow Client v 1.03.mq4, handle=8589934592
Non c'è nessun errore, c'è un handle, cos'altro serve, direte voi... ma nessuno ha creato la visualizzazione del file... Ed è impossibile aprire una mappatura che non è stata creata.
O forse questa mappatura è stata creata da qualcun altro e io non ne sono a conoscenza????
Qualche programma crea una visualizzazione con questo nome esatto :-)
Dmitry Luck'janenko:
O forse questa mappatura è stata creata da qualcun altro e io non ne sono a conoscenza?
Qualche programma crea una mappatura con quel nome esatto :-)
Beh, hai creato qualcosa tu stesso prima di questo)
Il software lavora con la memoria in questo modo, non cancella nulla in una volta sola. Ecco perché i vecchi dati possono rimanere in giro ed essere aperti.
Ma quando si sovrascrive, non si apre. Probabilmente non hai fatto nulla tra le aperture.
Ottima libreria, usata insieme ai mutex per scrivere una copiatrice locale.
Come componente importante per il ricevitore, ho ottenuto la dimensione del file e ho costruito un ciclo a partire da essa,
Ho trovato alcuni bug - ArrayOutOfRange o mancanza di 4 byte.
Corretto
Se creo un MMF con MQL5, lo scrivo e lo leggo.
Ma se creo l'MMF con un altro programma, quando cerco di scrivere o leggere da esso, si verifica un errore critico.
Qual è il problema?
Se creo un MMF con MQL5, lo scrivo e lo leggo.
Ma se creo l'MMF con un altro programma, quando cerco di scrivere o leggere da esso, si verifica un errore critico.
Qual è il problema?
Il club dei telepatici sta cercando di indovinare il numero dell'errore critico.
Il club dei telepatici sta cercando di indovinare il numero dell'errore critico.
MT5 messaggio di errore critico senza codice di errore. Se ci fosse un codice, sarebbe indicato.
Ma se ho creato MMF con un altro programma, quando cerco di scrivere o leggere da esso, si verifica un errore critico.
Qual è il problema?
- verificare che non vi siano errori all'apertura del file
- verificare il volume allocato disponibile per la lettura/scrittura in tutte le funzioni di lavoro con array/stringhe (tenere conto di 2 byte)
ecc.
Problema risolto.
È necessario scrivere e leggere i file MMF da un'applicazione di terze parti partendo da 4 byte, non da 0.
E per l'MT5 i 4 byte non vengono contati, anche se l'offset è 0.
Per questo motivo, quando un programma di terze parti scriveva a partire da 0 byte, si verificava un errore quando si cercava di leggere la MT5.
Problema risolto.
È necessario scrivere e leggere i file MMF da un'applicazione di terze parti a partire da 4 byte, non da 0.
E per la MT5 i 4 byte non vengono contati, anche se l'offset è 0.
Ecco perché quando avevo un programma di terze parti che scriveva a partire da 0 byte, quando ho provato a leggere l'MT5, si è verificato un errore.