Ошибки, баги, вопросы - страница 1415

 

Нашел проблемное место:

//+------------------------------------------------------------------+
//| 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;
}
Подчеркнутая строчка и вызывает крэш.
 
A100:

Support Team 2015.10.23 14:18 
Добрый день.
Данный счет был удален по причине отсутсвия подключений в течение 2 недель.

 

Получается, что только для цели обновления терминала необходимо подключаться чаще или каждый раз регистрировать новый.

Я-то минимум раз в день подключаюсь на демо-счета. И спасибо Вам за то, что поделились информацией.
 
Vasiliy Sokolov:

Нашел проблемное место:

Подчеркнутая строчка и вызывает крэш.
Исправлено. В новом билде крэша не будет.
 

МТ4 build 900

Листинг с подключаемым классом 

#include <Object.mqh>

 раньше работал без ошибок, теперь стал выдавать

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

в чем причина?

 
coderex:

в чем причина?

Был файл *.mq4 стал *.mq5

Последние Ваши действия по смене расширения и есть причина

 
coderex:

МТ4 build 900

Листинг с подключаемым классом 

 раньше работал без ошибок, теперь стал выдавать

в чем причина?

К сожалению, это моя ошибка, компилятор 900 билда все mqh компилирует используя язык MQL5.

Сегодня мы планируем выпустить билд, в котором данной ошибки нет.
 
Renat Fatkhullin:

Viewer файлы переносятся в windows/system32 каталог.

если я правильно понял то viewer файлы выбираются ОС в зависимости от ее битности и нужный файл копируется, а ненужный удаляется, т.к. у меня в windows/system32 только MetaViewer64.dll, а metaviewer.dll нет
 
Ilyas:
К сожалению, это моя ошибка, компилятор 900 билда все mqh компилирует используя язык MQL5.

Сегодня мы планируем выпустить билд, в котором данной ошибки нет.

в 902 билде это уже включено :) спасибо, но только если определяю методы класса за объявлением класса, то получаю ошибку.

Вот так ошибки нет:

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

А вот так ошибка есть:

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

Ошибка:

'CValContType' - template mismatch      ValType.mqh
указывает на строку с определением деструктора. Я его вынес пока для проверки работоспособности конструкции. Получается, что для шаблонов класса нужно выносить на каждое внешнее определение метода конструкцию template<typename T>
 

На MT4 после нажатии на Chart Refresh в логе повторяется одно и то же: HistoryCenter: 2 bars imported in 'GBPSGD1'

Сейчас выходные и вся история закачана. Значит никакие два бара импортироваться не должны.

 
Для шаблонов требование размещения всех методов внутри описания класса без выноса тел наружу.
Причина обращения: