Erros, bugs, perguntas - página 2743

 
Roman Agafonkin:

Aí é que está, não vai voltar... no mt4 está bem... no mt5 - infelizmente, é falha...
OK, vou filmar um vídeo e adicioná-lo a este fio.

Tenho um travessão depois de ter voltado a escalar no MT5 (2361).
 
class Originator
  {
   int               state;
public:
   class Memento;
   Originator() : state(0){}
   Memento*          getMemento()      {return new Memento(&this);}
   void              setState(int s)   {state=s;}
   void              dumpState()       {printf("State: %i", state);}
///////////////////////////////////////////////////////////
   class Memento{
      int            state;
      Originator*    org;
      public:
                     Memento(Originator* mOrg):state(mOrg.state),org(mOrg){}
      void           restoreState() {org.state=state;}
   };
///////////////////////////////////////////////////////////
  };

Porque é que não há erro: não pode ter acesso aos membros privados?

 
Vladimir Simakov:

Porque não há erro: não pode aceder a membro privado?

PorqueMementoé uma classeNested/Internal em relação aoOriginador

 
Sergey Dzyublik:

PorqueMementoé uma classeNested/Internal em relação aoOriginador

Obrigado.

 

Erro:

class class_A
  {
   struct struct_1
     {
      int            my_secret_key;
     };

   void              Get_key()
     {
      struct struct_local
        {
         struct_1     st1;
        };
     };
  };
cannot access to private struct 'struct_1' declared in class 'class_A'  test3.mq5       24      10
   see declaration of struct 'class_A::struct_1'        test3.mq5       15      11
Билд 2430.
 
Acrescentarei:
class A {};
struct B {
        struct A {};
        B() { ::A a; } //Error: 'A' - unexpected token
};
 
Sugestão aos criadores.
Por favor, considere acrescentar no MQL uma função que permita aos utilizadores chamarem independentemente o processamento de "mensagens" acumuladas noOnChartEvent a partir de código personalizado.
1) Isto permitiria chamar o tratamento OnChartEvent entre iterações de um cálculo moroso, tornando o GUI do utilizador pelo menos um pouco reactivo sem construir uma horta de: reserva de tarefas, transferência de dados, sincronização de estados, salvamento e restauro de contexto...
2) Isto permitiria a utilização do OnChartEvent em scripts.

Obrigado.
 
Sergey Dzyublik:
bug MT5 (build 2340) sem acesso a operator= por defeito a partir do objecto ponteiro.

Obrigado pela mensagem.
Corrigido por

 
Sergey Dzyublik:
Sugestão aos criadores.
Por favor, considere adicionar no MQL uma função que permita aos utilizadores chamarem independentemente o processamento de "mensagens" acumuladas no OnChartEvent a partir de código personalizado.
1) Isto permitiria chamar o tratamento OnChartEvent entre iterações de um cálculo moroso, tornando o GUI do utilizador pelo menos um pouco reactivo sem construir uma horta de: reserva de tarefas, transferência de dados, sincronização de estados, salvamento e restauro de contexto...
2) Isto permitiria a utilização do OnChartEvent em scripts.

Obrigado.
Está a sugerir que se acrescente a função GetNextEvent ?
 
Ilyas:
Está a sugerir que se acrescente a função GetNextEvent ?

Incluindo eventos TradeTransaction-events.


Duas sobrecargas - Trade-Event, Chart-Event.