Fehler, Irrtümer, Fragen - Seite 1415

 

Ich habe den Problembereich gefunden:

//+------------------------------------------------------------------+
//| Init local header structure from charr array                     |
//+------------------------------------------------------------------+
bool ZipLocalHeader::LoadFromCharArray(uchar &array[])
{
   if(ArraySize(array) != sizeof(ZipLocalHeader))
   {
      SetUserError(ZIP_ERROR_BAD_FORMAT_ZIP);
      return false;
   }
   ZipLocalHeaderArray zarray;
   ArrayCopy(zarray.array, array);
   this = (ZipLocalHeader)zarray;
   if(header != ZIP_LOCAL_HEADER)
   {
      SetUserError(ZIP_ERROR_BAD_FORMAT_ZIP);
      return false;
   }
   return true;
}
Die unterstrichene Zeile und verursacht einen Absturz.
 
A100:

Support-Team 2015.10.23 14:18
Nachmittags.
Dieses Konto wurde wegen mangelnder Verbindungen für 2 Wochen gelöscht.

Es hat sich herausgestellt, dass man nur für die Aktualisierung des Terminals öfter eine Verbindung herstellen oder jedes Mal ein neues Terminal registrieren muss.

Ich verbinde mich mindestens einmal täglich mit einem Demokonto. Und vielen Dank für die Informationen, die Sie uns gegeben haben.
 
Vasiliy Sokolov:

Ich habe einen Problembereich gefunden:

Die unterstrichene Zeile und verursacht einen Absturz.
Behoben. In dem neuen Gebäude wird es keinen Absturz geben.
 

MT4 Baujahr 900

Auflistung mit Plugin-Klasse

#include <Object.mqh>

Vorher funktionierte es ohne Fehler, aber jetzt gibt es einen Fehler

can't open "C:\Users\user\AppData\Roaming\MetaQuotes\Terminal\EDCF3DASDFGHJKL463EF6E36630ADFFD\MQL5\include\Object.mqh" include file    ValType.mqh     10      11

Was ist der Grund dafür?

 
coderex:

Was ist der Grund dafür?

Die *.mq4-Datei ist jetzt *.mq5

Ihre letzte Aktion zur Änderung der Durchwahl ist der Grund

 
coderex:

MT4 Baujahr 900

Auflistung mit Plugin-Klasse

Vorher funktionierte es ohne Fehler, aber jetzt gibt es einen Fehler

Was ist der Grund dafür?

Leider ist es mein Fehler, der 900er Build kompiliert alle mqh mit MQL5.

Heute planen wir, den Build ohne diesen Fehler zu veröffentlichen.
 
Renat Fatkhullin:

Die Viewer-Dateien werden in das Verzeichnis windows/system32 übertragen.

Wenn ich richtig verstehe, werden die Viewer-Dateien vom Betriebssystem je nach Bitrate ausgewählt, und die erforderliche Datei wird kopiert und die unnötige wird gelöscht, da ich nur MetaViewer64.dll in windows/system32 habe, aber metaviewer.dll ist nicht vorhanden
 
Ilyas:
Leider ist das mein Fehler, der Compiler des 900er Builds kompiliert alle mqh in der Sprache MQL5.

Heute planen wir die Veröffentlichung eines Builds ohne diesen Fehler.

Im 902-Build ist das schon enthalten :) danke, aber nur wenn ich Klassenmethoden nach der Klassendeklaration definiere, bekomme ich einen Fehler.

Ein solcher Fehler liegt nicht vor:

/*!
   \brief   Контейнер для хранения значений в зависимости от типа
*/
template<typename T>
class CValContType : public CObject
  {
private:
   T     m_tVal;      // значение типа T

public:
                     CValContType(T aVal) { m_tVal = aVal; };   // конструктор
                    ~CValContType(void) { };
   T                 GetData(void) { return m_tVal; };          // получение хранимых в контейнере данных
  };

Und es gibt einen Fehler wie diesen:

/*!
   \brief   Контейнер для хранения значений в зависимости от типа
*/
template<typename T>
class CValContType : public CObject
  {
private:
   T     m_tVal;      // значение типа T

public:
                     CValContType(T aVal);
                    ~CValContType(void);
   T                 GetData(void);          // получение хранимых в контейнере данных
  };
//+------------------------------------------------------------------+
/*!
   Конструктор
   \param   T aVal - значение контейнера
*/
template<typename T>
CValContType::CValContType(T aVal) { m_tVal = aVal; }
/*!
   Деструктор
*/
CValContType::~CValContType(void) { }
/*!
   Получение хранимых в контейнере данных
   \return   возвращает значение контейнера
*/
template<typename T>
T CValContType::GetData(void) { return m_tVal; }
//+------------------------------------------------------------------+

Fehler:

'CValContType' - template mismatch      ValType.mqh
kennzeichnet eine Zeile mit einer Destruktor-Definition. Ich habe es erst einmal gelöscht, um die Konstruktionsfunktionalität zu überprüfen. Für Klassenvorlagen sollten wir also das Konstrukttemplate<typename T> zu jeder externen Methodendefinition hinzufügen
 

Auf MT4, nachdem ich auf Chart Refresh geklickt habe, wiederholt sich das Gleiche im Log: HistoryCenter: 2 Bars importiert in 'GBPSGD1'

Jetzt ist Wochenende und die gesamte Geschichte wurde importiert. Es sollten also keine zwei Takte importiert werden.

 
Bei Vorlagen müssen alle Methoden innerhalb der Klassenbeschreibung platziert werden, ohne die Körper nach außen zu tragen.