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

 
Kira27:

Спасибо огромное!!!   Не полностью читал про эти Функции обработки событий, упрощают житуху прогеру)

Только обратите внимание на имена объектов при создании. В моём случае имя состоит из 3х подстрок через пробел. И нет никакой проверки этого. Если при создании какого-то объекта имя будет состоять из 2х, например подстрок или ещё хуже без пробелов, то получим критическую ошибку и выгрузку советника. А это может произойти в случае если объект создаётся какой-то другой программой (другим советником или индикатором). Так-что если надо делайте проверку имени чтобы избежать таких ошибок.

Либо вообще убрать старое имя и сделать со своим префиксом

/***********************OnChartEvent function************************/
void OnChartEvent(const int id,         // идентификатор события
                  const long& lparam,   // параметр события типа long
                  const double& dparam, // параметр события типа double
                  const string& sparam  // параметр события типа string
                 )
 {
  if(id == CHARTEVENT_OBJECT_CREATE)
   {
    ulong timeCreate = ObjectGetInteger(0, sparam, OBJPROP_CREATETIME); //  получим время создания объекта
    string newName = "fibka"+string(timeCreate); //  сформируем новое имя объекта
    ObjectSetString(0, sparam, OBJPROP_NAME, newName);  //  переименуем объект
   }
 }/******************************************************************/
 
Alexey Viktorov:

Только обратите внимание на имена объектов при создании. В моём случае имя состоит из 3х подстрок через пробел. И нет никакой проверки этого. Если при создании какого-то объекта имя будет состоять из 2х, например подстрок или ещё хуже без пробелов, то получим критическую ошибку и выгрузку советника. А это может произойти в случае если объект создаётся какой-то другой программой (другим советником или индикатором). Так-что если надо делайте проверку имени чтобы избежать таких ошибок.

Либо вообще убрать старое имя и сделать со своим префиксом

Хорошо.  Ещё раз спасибо!!!    Вы давно на mql кодите?   Просто даже из этого кусочка кода видно превосходную компетенцию))) Это круто!!!
 

Набираю THIS в MetaEditor посредством сенсорной (экранной) клавиатуры. Предварительно (для постоянного переключения в верхний регистр) дважды нажимаю на сенсорной клавиатуре стрелку вверх (аналог Shift)

Результат:   THis

Ожидалось: THIS

В Блокноте(notepad) и при наборе текста на сайте результат соответствует ожидаемому

Добавил еще рисунок - какая именно клавиатура выбрана в Windows 10


 
A100:

Набираю THIS в MetaEditor посредством сенсорной (экранной) клавиатуры. Предварительно (для постоянного переключения в верхний регистр) дважды нажимаю на сенсорной клавиатуре стрелку вверх (аналог Shift)

Результат:   THis

Ожидалось: THIS

В Блокноте(notepad) и при наборе текста на сайте результат соответствует ожидаемому


7ка Вирт.клава с капсом. 2 нажатия на шифт тоже не работают. Капс работает. И в метаэдитере и в редком блокноте ЕмЕдитор.

А шифт после 2х нажатий подсвечен?

 
Valeriy Yastremskiy:

7ка Вирт.клава с капсом. 2 нажатия на шифт тоже не работают. Капс работает. И в метаэдитере и в редком блокноте ЕмЕдитор.

А шифт после 2х нажатий подсвечен?

Не путайте - это другая клавиатура - в ней есть Caps. И "два шифта" тут не работают потому что есть Caps. Попробуйте там нажать Caps... получилось? Нет? Правильно - потому что его там нет и его заменяют "два шифта" - все продумано!

Более того H также набирается в верхнем регистре, который сбрасывается только на 3ем символе - значит причина не в клавиатуре, а в MetaEditor


 
A100:

Не путайте - это другая клавиатура - в ней есть Caps. И "два шифта" тут не работают потому что есть Caps. Попробуйте там нажать Caps... получилось? Нет? Правильно - потому что его там нет и его заменяют "два шифта" - все продумано!

Более того H также набирается в верхнем регистре, который сбрасывается только на 3ем символе - значит причина не в клавиатуре, а в MetaEditor


Да, пара символов и смена регистра, что то не то.

У меня на 10ке вообще не запустилась клава.)

На 7ке так понял нет таких настроек, та настройка, что у Вас, это для планшета, без капс.

 
Valeriy Yastremskiy:

Да, пара символов и смена регистра, что то не то.

У меня на 10ке вообще не запустилась клава.)

Ее включить нужно

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

 
A100:

Ее включить нужно

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

У меня обычная не завелась (не знал что две, спс), панельная завелась, в 4ке в метаэдитор работает штатно.

ЗЫ И в 5ке штатно отработала. 

Единственно без установки на компе запускал. По сети до папок установки на другом компе дотянулся и запустил МетаЭдитор.

Клавиатура THIS набрала. Там может еще подстановка срабатывать, но странно, она бы полностью регистр меняла бы на маленький.

 
A100:

У меня в MetaEditor 2085 тоже все нормально, а в MetaEditor 2715 - баг

Баг в 2715, у меня в 2660 норм.

 
Valeriy Yastremskiy:

Баг в 2715, у меня в 2660 норм.

Попробуйте ORDER набрать или SYMBOL

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