Errores, fallos, preguntas - página 2675

 
Sergey Dzyublik:

Otro error de MT5(build 2316) con la generación del código de la clase de la plantilla cuando se utiliza la clase interna.
C++ en línea:https://onlinegdb.com/HJkKXAqMU

Gracias por el post, arreglado

 
Sergey Dzyublik:

Bug MT5(build 2340) Error de compilación al intentar acceder a la clase interna de un parámetro de plantilla de una función de plantilla.

Gracias por el post, arreglado

 
Ilyas:

¿En qué codificación está el archivo?

En el estándar UTF-8

He probado diferentes codificaciones y diferentes separadores.

El resultado es 5008 o jeroglíficos.

 
Sergey Dzyublik:

Dos preguntas de inmediato para el compilador MT5 (build 2321):

1. Las prioridades de ejecución de las funciones de plantilla en MQL no se corresponden con las de las funciones de plantilla en C++ (en línea: https://onlinegdb.com/Hkvz8Hu7L).
Así, en C++, cuando las tres funciones de plantilla están presentes, se ejecuta la función de plantilla con el resultado "C++:1", si se elimina entonces se ejecuta "C++:2", y si se elimina entonces se ejecuta "C++:3".
Las prioridades en MQL son bastante diferentes: "C++:2" seguido de "C++:1" y "C++:3".


No está claro por qué la primera de las funciones está prohibida en MQL, mientras que la función idéntica con un parámetro ficticio ya está permitida:

Gracias por el mensaje, arreglado

 
Vladimir Pastushak:

En el estándar UTF-8

He probado diferentes codificaciones y diferentes separadores.

El resultado es 5008 o jeroglíficos.

Por favor, proporcione un código de trabajo con un archivo para investigar

 

Sobre el trabajo del sitio:

La visualización del saldo en mi cuenta personal está un poco apagada, si se puede corregir, son muchos ceros

Archivos adjuntos:
q1.PNG  12 kb
 
Ilyas:

Por favor, proporcione un código de trabajo con un archivo para investigar

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   core();
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {

  }
//+------------------------------------------------------------------+
void core()
  {
   string value = "", name = "";

   name =  "Test\\Test.csv";
   Print(FileIsExist(name));

   ResetLastError();
 
   int m_hendle = -1;
   m_hendle = FileOpen(name, FILE_READ | FILE_WRITE | FILE_CSV);
   if(m_hendle != INVALID_HANDLE)
     {
      Print((string)m_hendle + "    " + name + " [" + (string)FileSize(m_hendle) + "]"+ (string)GetLastError());
       while(!FileIsEnding(m_hendle))
        {
         string sCurrent = FileReadString(m_hendle);
         Print("sCurrent = ", sCurrent);
        }
      FileClose(m_hendle);
     }
  }
//+------------------------------------------------------------------+
Archivos adjuntos:
Files.zip  1 kb
 
Sergey Dzyublik:
En C++ compila y funciona (en línea: https://onlinegdb.com/Syn90dd7I), pero en MQL el error: "'func' - llamada ambigua a función sobrecargada"

Gracias por el post, arreglado

 
Vladimir Pastushak:

En el estándar UTF-8

Lo he probado de diferentes maneras, con diferentes codificaciones y diferentes delimitadores.

El resultado es 5008 o jeroglíficos.

La codificación es ANSI, sólo funcionará en Windows ruso.

Añadir la bandera FILE_ANSI, al abrir un archivo

m_hendle = FileOpen(name, FILE_READ | FILE_WRITE | FILE_CSV | FILE_ANSI);
 
Sergey Dzyublik:
Bug MT5 (build 2340) cuando se pasa una estructura interna a una función de plantilla, el tipo de datos resultante no puede utilizarse como tipo de datos base para otra estructura interna en una clase de plantilla:

Gracias por el post, arreglado