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

 
A100:
У меня логика простая: Х до #define Х это еще не макрос, а после #undef Х это уже не макрос (соответственно X выделяется цветом только там где это макрос)

Использую mqh, в которых нет #define, но при этом есть #ifdef. Почему они не должны подсвечиваться - не ясно.

 
fxsaber:

Никогда по цвету не пытался определить. Более того, если все находится в #ifdef, то в MQL4 и MQL5 могут быть разные подцветки. Проще всего сделать ALT+G на имени макроса, чтобы понять, есть он или нет.

#define PRICEST_TICK_PRICE //(1)
//...
#undef  PRICEST_TICK_PRICE //(2)
//...
void OnStart()
{
        int PRICEST_TICK_PRICE; //(3)
}

Находясь в строке (3) нажимаю ALT+G -> переход к строке (1)

Вопрос: макрос есть или нет?

 
A100:

Находясь в строке (3) нажимаю ALT+G - переход к строке (1)

Вопрос: макрос есть или нет?

Мне, мягко говоря, не понятны Ваши стенания. Умею с макросами работать. Отлично понимаю, что обозначает ALT+G и что макрос может быть отменен через #undef. Мне нравится именно такое поведение редактора.

Занудство иногда хорошо, но не в данном случае.

 
fxsaber:

Использую mqh, в которых нет #define, но при этом есть #ifdef. Почему они не должны подсвечиваться - не ясно.

Если ранее нет #define X, то X в #ifdef X - не подсвечивается (*) потому что - тут все нормально (по крайней мере в MetaEditor)

У меня к Разработчикам вопрос только один: почему в MetaEditor подсвечивается X в #define X, если ранее не было #define X, при том как это происходит выше в (*)

У Вас вопрос был наоборот:                            почему на сайте не подсвечивается X

 

Какое свойство символа ответственно за запрет выставления SL/TP открытой позиции?


 
fxsaber:

Какое свойство символа ответственно за запрет выставления SL/TP открытой позиции?


Наверное исполнение Market или Instant

 

На всякий случай оставлю тут


 
Vladimir Pastushak:

На всякий случай оставлю тут

Попробуйте снять галочку "Бета-версия: Использовать Юникод.."

 
A100:

У меня к Разработчикам вопрос только один: почему в MetaEditor подсвечивается X в #define X, если ранее не было #define X, при том как это происходит выше в (*)

Я конечно не разработчик, но замечу, что например в VS 2010 всё точно так же.

А вот чего мне не хватает в ME - это чтобы при невалидном ifdef/ifndef всё его содержимое отображалось серым/тусклым цветом, как будто закомментировано.  Так выглядит очень удобно и наглядно.  В том числе это можно использовать, чтобы закомментить большой блок кода, т.к. в этом случае не влияет наличие внутри блочных комментариев:  /* */

А расцветка самих комментариев в VS имеет другой цвет, поэтому легко отличаешь, где одно, а где другое.  Короче, хотелось бы чтоб в МЕ было так же.

 
Alexey Petrov:

Попробуйте снять галочку "Бета-версия: Использовать Юникод.."

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