eevviill:
Что мне теперь с переменной ip_address делать?
#import "con.dll" int ConnectToServer(char &a0[]); #import extern string ip_address = "123.46.4"; ... char a[]; StringToCharArray(ip_address,a); ConnectToServer(a);
Спасибо. Но не помогает.
Есть у кого то идеи ещё?
#import "con.dll" int ConnectToServer(uchar &a0[]); #import extern string ip_address = "123.46.4"; ... uchar a[]; StringToCharArray(ip_address,a); ConnectToServer(a);Но и это, скорее всего, не так. Точки напрягают, - видимо, нужно использовать short/ushort. Ну, и сопутствующий геморрой в библиотеке динамической загрузки.
Спасибо. Но не помогает.
Что значит "не помогает"?
Вам подсказали прямой путь, как получить мультибайтную строку из юникодной и использовать её в старой dll
Какие симптомы? Вы ip-адрес правильный указываете? Вы реальный адрес указали в своём примере?
Есть у кого то идеи ещё?
Изменить описание функции внутри DLL с:
int ConnectToServer(MqlStr *str);
на:
int ConnectToServer(char *str);
Но и это, скорее всего, не так. Точки напрягают, - видимо, нужно использовать short/ushort. Ну, и сопутствующий геморрой в библиотеке динамической загрузки.
Изменить описание функции внутри DLL с:
на:
Что значит "не помогает"?
Вам подсказали прямой путь, как получить мультибайтную строку из юникодной и использовать её в старой dll
Какие симптомы? Вы ip-адрес правильный указываете? Вы реальный адрес указали в своём примере?
В старом билде всё работает отлично. В новом если без изменений то скрин1.
С исправлением тоже самое.
127.0.0.1 Проблема точно не в точности IP. Если он не правильный то пишется Invalid IP.
Не выдаёт ошибки соеденения только если передавать так(но так адрес не правильный)
ConnecToServer(CharToString(IP_Address));
Самое смешное что я даже пробовал назад в строку перобразрвывать в ANSI, тоже не помагает.
CharArrayToString
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Строки теперь представлены в формате Unicode, раньше они были в формате ANSI (однобайтовые). Это необходимо учитывать, если программа использует DLL и передает в них строковые переменные.
И???
Что мне теперь с переменной ip_address делать?