Erros, bugs, perguntas - página 2675

 
Sergey Dzyublik:

Outro bug MT5(build 2316) com geração de código de classe modelo quando se usa a classe interna.
C++ online:https://onlinegdb.com/HJkKXAqMU

Obrigado pelo correio, fixado

 
Sergey Dzyublik:

Bug MT5(build 2340) Erro de compilação ao tentar aceder à classe interna para um parâmetro de modelo de uma função de modelo.

Obrigado pelo correio, fixado

 
Ilyas:

Em que codificação está o ficheiro?

Em UTF-8 padrão

Já experimentei diferentes codificações e diferentes separadores.

O resultado ou é 5008 ou hieróglifos.

 
Sergey Dzyublik:

Duas perguntas imediatas para o compilador MT5 (build 2321):

1. As prioridades de execução das funções do modelo em MQL não correspondem às das funções do modelo em C++ (online: https://onlinegdb.com/Hkvz8Hu7L).
Assim, em C++, quando as três funções de modelo estão presentes, a função de modelo com o resultado "C++:1" é executada, se for removida então "C++:2" é executada, e se for removida então "C++:3" é executada.
As prioridades em MQL são bastante diferentes: "C+++:2" seguido de "C+++:1" e "C+++:3".


Não é claro porque é que a primeira das funções é proibida no MQL, enquanto que a função idêntica com um parâmetro dummy já é permitida:

Obrigado pela mensagem, fixada

 
Vladimir Pastushak:

Em UTF-8 padrão

Tentei de diferentes maneiras, com diferentes codificações e diferentes delimitadores.

O resultado ou é 5008 ou hieróglifos.

Por favor forneça um código de trabalho com um ficheiro para investigar

 

Sobre o trabalho do site:

A exibição do saldo na minha conta pessoal está um pouco errada, se o conseguir corrigir, é um monte de zeros

Arquivos anexados:
q1.PNG  12 kb
 
Ilyas:

Por favor forneça um código de trabalho com um ficheiro 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);
     }
  }
//+------------------------------------------------------------------+
Arquivos anexados:
Files.zip  1 kb
 
Sergey Dzyublik:
Em C++ compila e funciona (online: https://onlinegdb.com/Syn90dd7I), mas em MQL o erro: "'func' - ambiguous call to overloaded function" (func - chamada ambígua para função sobrecarregada)

Obrigado pelo correio, fixado

 
Vladimir Pastushak:

Em UTF-8 padrão

Tentei de diferentes maneiras, com diferentes codificações e diferentes delimitadores.

O resultado ou é 5008 ou hieróglifos.

A codificação é ANSI, só funcionará em Windows russo.

Adicionar a bandeira FILE_ANSI, ao abrir um ficheiro

m_hendle = FileOpen(name, FILE_READ | FILE_WRITE | FILE_CSV | FILE_ANSI);
 
Sergey Dzyublik:
Bug MT5 (build 2340) quando uma estrutura interna é passada para uma função modelo, o tipo de dados resultante não pode ser usado como um tipo de dados de base para outra estrutura interna numa classe modelo:

Obrigado pelo correio, fixado
Razão: