Errori, bug, domande - pagina 2743

 
Roman Agafonkin:

È questo il punto, non torna... su mt4 va bene... su mt5 - ahimè, è glitchato...
OK, girerò un video e lo aggiungerò a questo thread.

Ho un rientro dopo il ridimensionamento su 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;}
   };
///////////////////////////////////////////////////////////
  };

Perché non c'è nessun errore: impossibile accedere ai membri privati?

 
Vladimir Simakov:

Perché nessun errore: impossibile accedere al membro privato?

PerchéMementoè una classeannidata/interna rispetto aOriginator

 
Sergey Dzyublik:

PerchéMementoè una classeannidata/interna rispetto aOriginator

Grazie.

 

Errore:

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.
 
Aggiungo:
class A {};
struct B {
        struct A {};
        B() { ::A a; } //Error: 'A' - unexpected token
};
 
Suggerimento agli sviluppatori.
Si prega di considerare l'aggiunta in MQL di una funzione che permetta agli utenti di chiamare indipendentemente l'elaborazione dei "messaggi" accumulati inOnChartEvent dal codice personalizzato.
1) Questo permetterebbe di chiamare la gestione di OnChartEvent tra le iterazioni di un calcolo che richiede tempo, rendendo la GUI dell'utente almeno un po' reattiva senza costruire un orto di: task pool, trasferimento di dati, sincronizzazione di stato, salvataggio e ripristino del contesto...
2) Questo permetterebbe di usare OnChartEvent negli script.

Grazie.
 
Sergey Dzyublik:
Bug di MT5 (build 2340) nessun accesso all'operator= di default dall'oggetto puntatore.

Grazie per il messaggio.
Corretto da

 
Sergey Dzyublik:
Suggerimento agli sviluppatori.
Si prega di considerare l'aggiunta in MQL di una funzione che permetta agli utenti di chiamare indipendentemente l'elaborazione dei "messaggi" accumulati in OnChartEvent dal codice personalizzato.
1) Questo permetterebbe di chiamare la gestione di OnChartEvent tra le iterazioni di un calcolo che richiede tempo, rendendo la GUI dell'utente almeno un po' reattiva senza costruire un orto di: task pool, trasferimento di dati, sincronizzazione di stato, salvataggio e ripristino del contesto...
2) Questo permetterebbe di usare OnChartEvent negli script.

Grazie.
Stai suggerendo di aggiungere la funzione GetNextEvent?
 
Ilyas:
Stai suggerendo di aggiungere la funzione GetNextEvent?

Compresi gli eventi di TradeTransaction.


Due sovraccarichi - Trade-Event, Chart-Event.