Errors, bugs, questions - page 1415

 

Found the problem area:

//+------------------------------------------------------------------+
//| 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;
}
The underlined line and causes a crash.
 
A100:

Support Team 2015.10.23 14:18
Afternoon.
This account has been deleted due to lack of connections for 2 weeks.

It turns out that just for the purpose of updating the terminal, you need to connect more often or register a new one each time.

I connect at least once a day to demo accounts. And thank you for sharing the information.
 
Vasiliy Sokolov:

Found a problem area:

The underlined line and causes a crash.
Fixed. There will be no crash in the new build.
 

MT4 build 900

Listing with plugin class

#include <Object.mqh>

It worked without errors before, but now it gives out

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

what is the reason?

 
coderex:

what is the reason?

The *.mq4 file is now *.mq5

Your recent actions to change the extension are the reason

 
coderex:

MT4 build 900

Listing with pluggable class

It worked without errors before, but now it gives out

what is the reason?

Unfortunately, it is my mistake, the 900 build compiles all mqh using MQL5.

Today we are planning to release the build without this error.
 
Renat Fatkhullin:

Viewer files are transferred to the windows/system32 directory.

if i understand correctly, the viewer files are selected by OS depending on its bit rate and the necessary file is copied and the unnecessary one is deleted, as i have only MetaViewer64.dll in windows/system32, but metaviewer.dll is not present
 
Ilyas:
Unfortunately, this is my mistake, the compiler of the 900 build compiles all mqh using the MQL5 language.

Today we plan to release a build without this error.

In the 902 build this is already included :) thanks, but only if I define class methods after the class declaration, I get an error.

There is no error like this:

/*!
   \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; };          // получение хранимых в контейнере данных
  };

And there's an error like this:

/*!
   \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; }
//+------------------------------------------------------------------+

Error:

'CValContType' - template mismatch      ValType.mqh
indicates a line with destructor definition. I put it out for now to check the construct functionality. So, for class templates we should add thetemplate<typename T> construct to each external method definition
 

On MT4 after clicking on Chart Refresh in the log there is the same thing repeated: HistoryCenter: 2 bars imported in 'GBPSGD1'

It's weekend now and all the history has been imported. So no two bars should be imported.

 
For templates, the requirement is to place all methods within the class description without taking the bodies outward.
Reason: