internene Fehler #112

Einloggen oder registrieren, um einen Kommentar zu schreiben
Andreas Fechter
47
Andreas Fechter  


Hallo,

seit ich auf der neuen MT5 Plattform vom 13.Juni, Build 2085 arbeite, bekomme ich den internene Fehler #112 nach dem Kompilieren

Er steht in Zusammenhang mit einer Include Datei am Anfang der mq5  Prozedur, in der Enumerationen aufgelistet sind. Vorher trat

dieser Fehler nicht auf.

Wer kann was damit anfangen? 

Carl Schreiber
Moderator
9932
Carl Schreiber  

#112 bedeutet: Doppeltes Anführungszeichen ist ausgelassen  (") ( siehe hier: https://www.mql5.com/de/docs/constants/errorswarnings/errorscompile )

Danach suchen?

PS.: Die Hilfe des Editors (F1) funktgioniert zZ. nicht wirklich - ich kann nicht nach zB: _LastError suchen - daher ist die Web-Site mit der Dok das Mittel der Wahl.

Dokumentation zu MQL5: Konstanten, Enumerationen und Strukturen / Kodes der Fehler und Warnungen / Kompilierungsfehler
Dokumentation zu MQL5: Konstanten, Enumerationen und Strukturen / Kodes der Fehler und Warnungen / Kompilierungsfehler
  • www.mql5.com
Zu importierende Funktion kann nicht diesen Parameter haben (Anzeiger, Klasse oder Struktur, die dynamisches Feld, Anzeiger, Llasse usw. enthalten, können nicht übertragen werden)
Andreas Fechter
47
Andreas Fechter  

..danke für die schnelle Antwort und den Hinweis, aber die Include Datei weist keine Doublequote Notwendigkeiten aus.

Deshalb hier zum Verständnis eine (kleine Test) Routine, die das gleiche Compiler Verhalten  mit #112 Error aufzeigt:

Beginn mq5 File:

#property copyright   "MeMySelfAndI"
#property description "Trading System QTH_Long_6.41"
#property indicator_color1  clrBlue
#property tester_file "VOLUME_RECORDS.CSV"
#property strict

#include "\Includes\CommonParameters.mqh"      // ---------------------- wird ausgeführt
#include "\Includes\CommonArrays.mqh"             // ---------------------- wird ausgeführt


/*                                                                         testweise  auskommentiert
#include "\Includes\IndicatorRequests.mqh"
    CiSAR ciSAR;
    CiAMA ciAMA;
*/

#include "\Includes\Enums.mqh"                      // Internal error #112  Compiler Abbruch!

#include "\Includes\Structures.mqh"                // wird nicht beanstandet

...

}

Beginn der nicht inkludiertern Enums.mqh. Ist eine reine Deklarationsdatei, ohne ausführbare Programmteile

Enums.mqh enthält keinerlei Quotierung oder String Zuweisungen, nur Enumerationen (insgesamt sind es 28 Enums,

die so aufgelistet und damit public gemacht werden.


/*----------------------------------------------------- MQL5 Enums -------------------------------------------------*/
#property description "Trading System QTH_Long_6.41"

enum E_AMA                                                      // AMA Klasse 1 - Control
{
  AMA_ZONE_INIT   = 0,                                      // CAmaLib::AMAZone() -> Default bei Programmstart #480
  AMA_BUY_ZONE   = 2,                                      // CAmaLib::AmaTurnAround()
  AMA_SELL_ZONE  = -2,                                    // CTrailTools::ReadCandleSequence()
}
e_amaZone;

enum E_FILE
{
  NO_FILE_OPEN,                       // Default
  FILE_IS_OPEN,                         // CFile::OpenFile()
  FILE_OPEN_ERR,                      // CFile::OpenFile()
  FILE_WRITE_ERR,                    // CFile::WriteFile()
  FILE_CLOSE_ERR,                    // CFile::CloseFile()
  FILE_IS_CLOSED,                     // CFile::CloseFile()
}
e_fileControl;

.....

seit der Umstellung auf Build 2085 habe ich das Problem, vorher war alles ok! Was ist passiert?

Gruß Andreas

Carl Schreiber
Moderator
9932
Carl Schreiber  

Versuch doch einfach mal - als Zwischentest! - den Inhalt der ganze Datei Enums.mqh ganz oben 'reinzukopieren'  und schau ob es zu einem Compilerfehler kommt.

Als Nächstes würd ich den Dateinamen der Enumeration ändern in zB. FechterEnums.mqh

Einloggen oder registrieren, um einen Kommentar zu schreiben