Fehler, Irrtümer, Fragen - Seite 2743

 
Roman Agafonkin:

Das ist die Sache, es ist nicht zurückkommen... auf mt4 es ist gut... auf mt5 - leider ist es fehlerhaft...
OK, ich drehe ein Video und füge es zu diesem Thread hinzu.

Ich habe eine Einkerbung nach der Rückstufung auf 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;}
   };
///////////////////////////////////////////////////////////
  };

Warum gibt es keinen Fehler: Kein Zugriff auf private Mitglieder?

 
Vladimir Simakov:

Warum keine Fehlermeldung: Zugriff auf privates Mitglied nicht möglich?

DaMementoeine verschachtelte/interne Klasse im Verhältnis zuOriginatorist

 
Sergey Dzyublik:

DaMementoeine verschachtelte/interne Klasse im Verhältnis zuOriginatorist

Ich danke Ihnen.

 

Irrtum:

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.
 
Ich füge hinzu:
class A {};
struct B {
        struct A {};
        B() { ::A a; } //Error: 'A' - unexpected token
};
 
Anregung an die Entwickler.
Bitte erwägen Sie, in MQL eine Funktion hinzuzufügen, die es den Benutzern ermöglicht, die Verarbeitung der angesammelten "Nachrichten" inOnChartEvent unabhängig vom eigenen Code aufzurufen.
1) Dies würde es ermöglichen, OnChartEvent zwischen den Iterationen einer zeitaufwendigen Berechnung aufzurufen, wodurch die Benutzer-GUI zumindest einigermaßen reaktionsfähig wäre, ohne einen Gemüsegarten aus Task-Pool, Datentransfer, Zustandssynchronisation, Kontextspeicherung und -wiederherstellung aufzubauen...
2) Dies würde die Verwendung von OnChartEvent in Skripten ermöglichen.

Danke.
 
Sergey Dzyublik:
MT5-Fehler (Build 2340) kein Zugriff auf Standardoperator= von Zeigerobjekt.

Vielen Dank für die Nachricht.
Korrigiert von

 
Sergey Dzyublik:
Anregung an die Entwickler.
Bitte erwägen Sie, in MQL eine Funktion hinzuzufügen, die es dem Benutzer ermöglicht, die Verarbeitung der angesammelten "Nachrichten" in OnChartEvent unabhängig vom eigenen Code aufzurufen.
1) Dies würde es ermöglichen, OnChartEvent zwischen den Iterationen einer zeitaufwendigen Berechnung aufzurufen, wodurch die Benutzer-GUI zumindest einigermaßen reaktionsfähig wäre, ohne einen Gemüsegarten aus Task-Pool, Datentransfer, Zustandssynchronisation, Kontextspeicherung und -wiederherstellung aufzubauen...
2) Dies würde die Verwendung von OnChartEvent in Skripten ermöglichen.

Ich danke Ihnen.
Schlagen Sie vor, die Funktion GetNextEvent hinzuzufügen?
 
Ilyas:
Schlagen Sie vor, die Funktion GetNextEvent hinzuzufügen?

Einschließlich TradeTransaction-Ereignisse.


Zwei Überladungen - Trade-Event, Chart-Event.