Новая версия платформы MetaTrader 5 build 5370: улучшения в веб-версии - страница 31
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Если проблема повторится, стоит узнать, как её воспроизвести.
Проблема воспроизводилась при закрытии и открытии Тестера (CTRL+R). Сразу происходил краш Терминала.
Думал, что причина в onnx реализации. Но через какое-то время ошибка воспроизводится перестала.
Билды выше b5440 пока не использую из-за воя об их сырости. Но если буду находить баги, то перед созданием отчета, конечно, проверю на последней бете.
Вот мой результат (хотя, я не заню, актуальна ли еще эта проблема).
Windows на английском языке, скриншот настроек прикрепил файлом.
Я попытался вставить с буффера обмена (не знаю, должно ли оно работать).
build 5480, таблица символов: https://en.wikipedia.org/wiki/Wingdings#Wingdings
Я попытался вставить с буффера обмена (не знаю, должно ли оно работать).
build 5480, таблица символов: https://en.wikipedia.org/wiki/Wingdings#Wingdings
Это не работает, языковая RU-система попала под санкции.
Я попытался вставить с буффера обмена (не знаю, должно ли оно работать).
build 5480, таблица символов: https://en.wikipedia.org/wiki/Wingdings#Wingdings
Обычно так не работает. Wingdings в MT5 — это шрифт, а не кодировка, текст должен использовать код ANSI (от 32 до 255).
На Википедии показана версия в формате Unicode, это кодировка, она работает не так, как в Unicode.
Причина ошибки, скорее всего, в более "правильной" работе с кодировками в новом движке. Поэтому теперь чтобы корректно увидеть символы из шрифта для однобайтной кодировки, к которым относится Wingdings, надо осуществлять принудительную перекодировку строки текста, которая задаёт текст кнопки.
Для примера программы в этом посте в функции ButtonCreate() надо заменить эти две строки
на такой код:
Подобные замены, видимо, придётся делать во всех местах, где вызывается ObjectSetString(chart_ID,name,OBJPROP_TEXT,text), или где-то заранее.
Возможно, для других языковых операционных систем или языковых настроек ОС придётся делать какое-то другое преобразование. У меня на Windows 10 RU если значение переменной text берётся из входных параметров или задаётся в исходном коде в двойных кавычках, нужный результат даёт именно такая перекодировка.
При этом если текст на кнопке хотим вывести обычным шрифтом типа Arial, то перекодировку делать как раз нельзя.
uchar chars[];
Что делаю не так?
Что делаю не так?
Это просто кошмар. Пришлось повозиться, чтобы разобраться, что не нравится MT5. Выяснилось, что нельзя устанавливать текст после установки шрифта Wingdings. Точнее, в момент установки текста шрифт объекта должен быть не Wingdings. Поэтому вместо строки
пришлось написать
Другая подлость была в функции CharToString(). Видимо, использовать её нежелательно. Если вы уже знаете коды нужных вам символов, то лучше поступить так:
Или можно так:
И затем уже массив chars преобразовывать в строку:
В общем, достаточно грустно выглядят эти танцы с бубном. Вот полный код, который давал результат:
Господа разработчики,
а что случилось с Alpha слоем ? Даже в 5445 еще все работало после перехода на новый движок, в 5483 - вся полупрозрачность стала полностью непрозрачной.
Код:
Было:
Стало: