Fehler, Irrtümer, Fragen - Seite 2675

 
Sergey Dzyublik:

Ein weiterer MT5(build 2316) Fehler bei der Generierung von Template-Klassencode bei Verwendung einer internen Klasse.
C++ online:https://onlinegdb.com/HJkKXAqMU

Danke für den Beitrag, korrigiert

 
Sergey Dzyublik:

Fehler MT5(build 2340) Kompilierungsfehler beim Versuch, auf die interne Klasse für einen Template-Parameter einer Template-Funktion zuzugreifen.

Danke für den Beitrag, korrigiert

 
Ilyas:

In welcher Kodierung liegt die Datei vor?

Im Standard UTF-8

Ich habe verschiedene Kodierungen und verschiedene Trennzeichen ausprobiert.

Das Ergebnis ist entweder 5008 oder Hieroglyphen.

 
Sergey Dzyublik:

Gleich zwei Fragen zum MT5-Compiler (Build 2321):

1. Die Prioritäten der Ausführung von Template-Funktionen in MQL entsprechen nicht denen von Template-Funktionen in C++ (online: https://onlinegdb.com/Hkvz8Hu7L).
Wenn also in C++ alle drei Vorlagenfunktionen vorhanden sind, wird die Vorlagenfunktion mit dem Ergebnis "C++:1" ausgeführt, wenn sie entfernt wird, wird "C++:2" ausgeführt, und wenn sie entfernt wird, wird "C++:3" ausgeführt.
Die Prioritäten in MQL sind ganz anders: "C++:2" gefolgt von "C++:1" und "C++:3".


Es ist nicht klar, warum die erste der beiden Funktionen in MQL verboten ist, während die identische Funktion mit einem Dummy-Parameter bereits erlaubt ist:

Danke für die Nachricht, korrigiert

 
Vladimir Pastushak:

Im Standard UTF-8

Ich habe verschiedene Kodierungen und verschiedene Trennzeichen ausprobiert.

Das Ergebnis ist entweder 5008 oder Hieroglyphen.

Bitte stellen Sie einen funktionierenden Code mit einer zu untersuchenden Datei zur Verfügung

 

Über die Arbeit der Website:

Die Anzeige des Kontostandes im persönlichen Konto ist nicht ganz korrekt, wenn Sie sie korrigieren können, sind es viele Nullen

Dateien:
q1.PNG  12 kb
 
Ilyas:

Bitte stellen Sie einen funktionierenden Code mit einer zu untersuchenden Datei zur Verfügung

//+------------------------------------------------------------------+
//| 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);
     }
  }
//+------------------------------------------------------------------+
Dateien:
Files.zip  1 kb
 
Sergey Dzyublik:
In C++ kompiliert es und funktioniert (online: https://onlinegdb.com/Syn90dd7I), aber in MQL der Fehler: "'func' - zweideutiger Aufruf einer überladenen Funktion"

Danke für den Beitrag, korrigiert

 
Vladimir Pastushak:

Im Standard UTF-8

Ich habe es auf verschiedene Arten versucht, mit verschiedenen Kodierungen und verschiedenen Trennzeichen.

Das Ergebnis ist entweder 5008 oder Hieroglyphen.

Die Kodierung ist ANSI, sie funktioniert nur unter russischem Windows.

FILE_ANSI Flag hinzufügen, wenn eine Datei geöffnet wird

m_hendle = FileOpen(name, FILE_READ | FILE_WRITE | FILE_CSV | FILE_ANSI);
 
Sergey Dzyublik:
Fehler MT5 (Build 2340): Wenn eine interne Struktur an eine Template-Funktion übergeben wird, kann der resultierende Datentyp nicht als Basisdatentyp für eine andere interne Struktur in einer Template-Klasse verwendet werden:

Danke für den Beitrag, korrigiert