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

 
Artyom Trishkin:

(условие1 и (условие2 или условие3))

благодарю

 
Aleksandr Goryachev:

благодарю

Самое интересное, что в коде написано абсолютно то же самое.

 
Artyom Trishkin:

Самое интересное, что в коде написано абсолютно то же самое.

я уточнить просто хотел, засомневался...

 

Начиная с какого-то билда из библиотеки перестала экспортироваться функция (unresolved import):

typedef void (*pOnBookEvent)(const string &symbol);

void OrderBook_Init(pOnBookEvent ptr, const string folder, const bool common, const int offset) export

Происходит это из-за параметра, определенного typedef-ом. Если его убрать - экспорт начинает работать. Что и как поменяла MQ? Вероятно что-то с typedef-aми? Получается, что при сборке библиотеки в предыдущем билде сигнатура параметра была одной, а при компиляции эксперта, использующего библиотеку в новом билде, сигнатура другая.

Уточню, что изменение произошло между 2007 и 2085 билдами. Поиск по release notes ответа не дал.

 
Vict:

0x20

А в таком примере возможно сделать подобное?
То есть численный char массив инициализировать пустым значением, не нулём.

char Arr[];
ArrayResize(Arr, 5);
ArrayInitialize(Arr, '\0');
   
for(int i=0; i<5; i++)
   Print(Arr[i]);
 
Roman:

А в таком примере возможно сделать подобное?
То есть численный char массив инициализировать пустым значением, не нулём.

не вижу преград
 
Vict:
не вижу преград

Преграда есть

ArrayInitialize(Arr, ' ');

Инициализируется числом 32
На сколько я понял для char символа не существует пустого значения, кроме '\0'
Но этот символ инициализирует массив нулями.
Вопрос был, возможно ли проинициализировать пустым значением, не нулём.

 
Roman:

Преграда есть

Инициализируется числом 32
На сколько я понял для char символа не существует пустого значения, кроме '\0'
Но этот символ инициализирует массив нулями.
Вопрос был, возможно ли проинициализировать пустым значением, не нулём.

Смотри. Когда ты объявил массив char a[100], то физически это означает, что на стеке выделилось 100 байт, всё, они есть и они имеют значения от 0x0 до 0xff
 
Vladimir Simakov:
Смотри. Когда ты объявил массив char a[100], то физически это означает, что на стеке выделилось 100 байт, всё, они есть и они имеют значения от 0x0 до 0xff

Да, и содержит мусор

char a[100];
   
for(int i=0; i<100; i++)
   Print(a[i]);

Вопрос был совсем в другом. Проинициализировать пустым значением, не нулём. Если такое вообще возможно.
Ноль это число! Пустое значение в моём понимании, нет чисел, пустота.
Но ячейки памяти проинициализированы этой пустотой )) 

 

MT5 Билд 2145 от 17 сентября 2019.

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

Итак уже надоела проблема, которая полгода тянется, когда внезапно половина агентов перестает принимать задание и приходится их принудительно отключать и снова включать,

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