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

 
Stanislav Korotky:

Да, там по идее весь MQL-синтаксис будет отброшен. Пока пофиксил компиляцию исходников под новыми билдами. Буду прикручивать zip.

Можно без zip, скинуть в песочницу всю иерархию файлов.

 
fxsaber:

Можно без zip, скинуть в песочницу всю иерархию файлов.

Можно, но зип как опция был бы востребован. У Вас есть исходники из статьи https://www.mql5.com/ru/articles/1971 адаптированные под свежий компилятор?

Работаем с ZIP-архивами средствами MQL5 без использования сторонних библиотек
Работаем с ZIP-архивами средствами MQL5 без использования сторонних библиотек
  • www.mql5.com
Однажды автора данной статьи привлекла интересная особенность функции CryptDecode, а именно — возможность распаковывать переданный ей ZIP-массив. Этот модификатор был введен разработчиками торговой платформы MetaTrader 5 для того, чтобы можно было распаковывать ответ некоторых серверов, используя стандартную функцию WebRequest. Однако из-за...
 
Stanislav Korotky:

Можно, но зип как опция был бы востребован. У Вас есть исходники из статьи https://www.mql5.com/ru/articles/1971 адаптированные под свежий компилятор?

Да, пользуюсь разархивированием. Здесь рабочий вариант.

 
fxsaber:

Да, пользуюсь разархивированием. Здесь рабочий вариант.

У меня остается мусор на примере работы с зипами:

2020.02.12 21:54:06.620 ZipTask1 (EURUSD,D1)    21 leaked strings left
2020.02.12 21:54:06.620 ZipTask1 (EURUSD,D1)    21 undeleted objects left
2020.02.12 21:54:06.620 ZipTask1 (EURUSD,D1)    21 objects of type KeyValuePair left
2020.02.12 21:54:06.620 ZipTask1 (EURUSD,D1)    2184 bytes of leaked memory

Прикрутил к своему скрипту - то же самое - похоже в zip-библиотеке.

PS. Выяснил, что это в Dictionary.mqh

 
Stanislav Korotky:

У меня остается мусор на примере работы с зипами:

Прикрутил к своему скрипту - то же самое - похоже в zip-библиотеке.

PS. Выяснил, что это в Dictionary.mqh

Там шаблонный стиль кода. Это значит, что я просто не нарывался на проблемы из-за того, что использовал только часть функционала.

 

почему не могу такой шаблон сделать?

struct A
  {
   int               i;
   double            d;
  };

template<typename T>
T f(int value)
  {
   T result;
   return(result);
  }
//+------------------------------------------------------------------+
void OnStart()
  {
   A a;
   int i = 1;
   a = f(i);
  }
//+------------------------------------------------------------------+

template mismatch

'f' - cannot to apply template

   see declaration of 'f'

'f' - parameter passed as reference, variable expected

'f' - parameter passed as reference, variable expected

 

Что-то совсем замучился с хранилищем. Некоторые файлы нормально отправляет в хранилище, а некоторые ни в какую:

И, главное, нет mql5.storage-файла в папке \MQL5\ чтобы его удалить


Где он теперь?

 
Igor Makanu:

почему не могу такой шаблон сделать?

Потому что, похоже, совсем неправильно представляете работу шаблонов.

   a.i = f<int>(i);

"Чуда", что хотели, не будет.

 
Igor Makanu:

почему не могу такой шаблон сделать?

потому что шаблон выводит типы только по параметрам, но не по выходному значению.

 
fxsaber:

Потому что, похоже, совсем неправильно представляете работу шаблонов.

"Чуда", что хотели, не будет.

как компилятор преобразует шаблоны я представляю, ничего нового, так же работает?

struct A
  {
   int               i;
   double            d;
  };

template<typename T>
void f(int value,T &result)
  {
   T tmp;
   result = tmp;
  }
//+------------------------------------------------------------------+
void OnStart()
  {
   A a;
   int i = 1;
   f(i,a);
  }
//+------------------------------------------------------------------+
Andrei Trukhanovich:

потому что шаблон выводит типы только по параметрам, но не по выходному значению.

понятно, была надежда, что что-то я не учел

ладно не критично, работать будет через параметры

Причина обращения: