MetaTrader 4 Client Terminal build 509 - страница 18

 

При наличии большого количества графических объектов на графике, ценовой график самопроизвольно меняет свой цвет (при прокрутке и изменении масштаба). На первом рисунке нормальное отображение графика, на втором и третьем - искаженное. В данном случае на графике присутствуют 1852 графических объекта типа OBJ_TREND. Наблюдается как в 509 билде, так и в более старых (4xx).

нормальный вид
искаженный вид
искаженный вид

 
Крестик бы на последней строчке - "Закрыть всё"...


   и на столоссах с тейками ... (мечтательно) ;)
И кнопку "Бабло"
  А вот это - перебор.

:-) , как часто от пользователей слышал нечто подобное -  мечтательно:  напиши мне программу ,  "сделай мне кнопку"

Обычно рассказываю им следующее:  Наверно ты хочешь "одну большую кнопку"  и. т. п. - в ответ слышу -  ДА ДА ДА!


В идеале - пользователь хочет одну , максимум две кнопки утром нажал одну кнопку вечером другую!

Заключительный вариант автоматизации вмонтированная   в стул кнопка: пришел утром на работу сел - копку нажал - вечером встал - пользователь мечтательно улыбается!

Ой погоди   еще забыл - остается последний этап  автоматизации , пользователь "удаляется" как в фильме матрица , сливается в унитаз и на кресло кладется кирпич - цикл закончен - и ты  не нужен.


Обычно после этого короткого рассказа , большая часть пользователей задумывается, и больше не хочет иметь "маленькое количество  кнопок"

 

Баг !!

dll:
bool __stdcall test()
{
        return false;
}

mql:
Alert( test() );

Alert: 1


Отказы не принимаются !!! :)

 
220Volt:

Баг !!

Alert: 1

dll:
bool __stdcall test()
{
        return false;
}

mql:
Alert( test() );

Отказы не принимаются !!! :)

А если так:

dll:
BOOL __stdcall test()
 {
  return false;
 }

mql:
Alert(test());
У меня работает.
 
BOOL и bool разные типы, первый занимает 4 байта, второй 1. Я знаю что такой вариант нормально работает, с int'ом проверял.
 
220Volt:
BOOL и bool разные типы, первый занимает 4 байта, второй 1. Я знаю что такой вариант нормально работает, с int'ом проверял.
Вот и ответ. Что возвращает функция, если возвращаемый тип bool и значение false? Один нулевой байт. Другие 3 байта с мусором. Какова вероятность, что в остальных байтах будут нули?
 
220Volt:

Баг !!

Alert: 1

Отказы не принимаются !!! :)

Да, оказалось косвенный баг.

Если из DLL возвращается результат в регистре AL (8 бит), не зануляя остальные разряды в EAX(32 бита), то этот баг проявляется. У MQL4 bool имеет физический размер int, что на этапе маппинга результата из DLL работает как true, если EAX не нуль.  Это мы поправим.

 

Для графических объектов свойство OBJPROP_BACK работает только в случае, если название имени объекта начинается до L-буквы латинского алфавита  включительно.  Я проверял на горизонтальных линиях.

.... в фоне относительно объекта, для которого также стоит  OBJPROP_BACK = true. 


Тоесть если имя объекта будет начинаться с: M, N, O, P etc., то объект не будет рисоваться в фоне! А для объектов с началом имени от: A, B, C, D и до L, и также для "_" (нижнее подчеркивание) - отображается в фоне нормально!

 
primer:

Для графических объектов свойство OBJPROP_BACK работает только в случае, если название имени объекта начинается до L-буквы латинского алфавита  включительно.  Я проверял на горизонтальных линиях.

.... в фоне относительно объекта, для которого также стоит  OBJPROP_BACK = true. 


Тоесть если имя объекта будет начинаться с: M, N, O, P etc., то объект не будет рисоваться в фоне! А для объектов с началом имени от: A, B, C, D и до L, и также для "_" (нижнее подчеркивание) - отображается в фоне нормально!

Можете приложить краткий пример?

Буквы не должны влиять.

 
primer:

Для графических объектов свойство OBJPROP_BACK работает только в случае, если название имени объекта начинается до L-буквы латинского алфавита  включительно.  Я проверял на горизонтальных линиях.

.... в фоне относительно объекта, для которого также стоит  OBJPROP_BACK = true. 


Тоесть если имя объекта будет начинаться с: M, N, O, P etc., то объект не будет рисоваться в фоне! А для объектов с началом имени от: A, B, C, D и до L, и также для "_" (нижнее подчеркивание) - отображается в фоне нормально!


  Учтите что порядок отображения (Z index) графических объектов зависит от имени -  чем ближе к концу алфавита тем выше. Что кстати очень удобно.
Причина обращения: