509 уже огого сколько времени в работе, считай полгода. А сейчас наверное ДЦ кривое обновление выкинуло, для редактора МЕ версии 882 должен быть МТ4 билд не ниже 529. Лучше обновитесь сами по-нормальному, в ветке билда 574 есть описание.
3 февраля обещали релиз нового терминала, а до тех пор бетатестинг уже чуть ли не полгода идёт, форум пестрит обьявлениями, странно что есть ещё те кто не знает.
А коды все что были раньше написаны компилируются и сейчас без проблем. Там новые функции появились, а старые никуда не делись пока.
Ок, эту проблему решил, возникла другая:
#import "libmysql.dll"
int mysql_real_connect( int TMYSQL,string host,string user,string password, string DB,int port,int socket,int clientflag);
После обновления терминала, перестала корректно работать данная функция, возвращает код ошибки 2005 с описанием в виде "?????????????"
Запускаю старый терминал, работает без ошибки, в чем прикол?????
Разработчики могут ответить????
Ок, эту проблему решил, возникла другая:
#import "libmysql.dll"
int mysql_real_connect( int TMYSQL,string host,string user,string password, string DB,int port,int socket,int clientflag);
После обновления терминала, перестала корректно работать данная функция, возвращает код ошибки 2005 с описанием в виде "?????????????"
Запускаю старый терминал, работает без ошибки, в чем прикол?????
Разработчики могут ответить????
пиши сюда : Выпущена бета-версия MetaTrader 4 Build 574 с обновленным языком MQL4 и Маркетом приложений
Подозреваю из-за того что строки стали широкие.
Везде где есть строки надо менять импорт на uchar[] или делать поддержку unicode в дллках.
а можно пример, буду признателен!!!
Было:
#import "kernel32.dll" int DeleteFileA (string lpFileName);
Вариант 1
#import "kernel32.dll" int DeleteFileA (uchar& lpFileName[]); ... uchar path[]; ToAnsi(TerminalPath() + "\\ClusterDelta\\DeltaDataReceiver", path); bool succeeded = DeleteFileA(path); ... void ToAnsi(string s, uchar& res[]) { ArrayResize(res, StringLen(s) + 1); StringToCharArray(s, res); }
Вариант 2
#import "kernel32.dll" int DeleteFileW (string lpFileName); // замена на поддерживающую юникод функцию
Было:
Вариант 1
Вариант 2
Вы меня выручили, а то ночь точно была бы бессонной )), большое спасибо!
Вроде как нашел ответы на вопросы: https://www.mql5.com/ru/articles/364
Остается только выяснить на сколько он применим к mql4.
Еще вопрос, как быть с функциями такого рода: string mysql_fetch_row(int result);
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Всем привет, сегодня решил перегрузить комп, открываю терминал, выясняю что редактор обновился до 5 версии, все новые компиляции не принимаются текущей версии терминала, кто с этим столкнулся, как быть?
Текущая версия МТ4 4.0 build 509 и редактора 5.0 build 882
Почему если и было такое серьезное обновление, то не обновился сам терминал?