![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
"Ошибка открытия файла D:\20240524.log"
handle получаю "-1". Путь точно правильный. Что может быть не так?
может нехватать слеша в пути :-)
string path="D:\\20240524.log";
вроде как средствами мкл за пределы корневой директории программы мкл не вылезти - C:\Users\Алексей\AppData\Roaming\MetaQuotes\Terminal\1FC724C8C211BFE8ECF8B599A855301E\MQL4\Files - вот отсюда вот (пример)
Вот как раз, чтобы выбраться за пределы песочницы и нужно использовать WinAPI, но тут устаревшие функции используются. Сейчас они не работают.
"Ошибка открытия файла D:\20240524.log"
handle получаю "-1". Путь точно правильный. Что может быть не так?
Этот код разрабатывался в 2006-ом, когда строки в MQL были еще ANSI. Сейчас же все строки - Unicode. Так, функция _lopen принимает на вход LPCSTR, т. е. ANSI. Поэтому для использования текущего кода нужно преобразовывать все строки в многобайтную кодировку. Функция StringToCharArray().
Этот код разрабатывался в 2006-ом, когда строки в MQL были еще ANSI. Сейчас же все строки - Unicode. Так, функция _lopen принимает на вход LPCSTR, т. е. ANSI. Поэтому для использования текущего кода нужно преобразовывать все строки в многобайтную кодировку. Функция StringToCharArray().
Функции _lopen больше нет. Там всё надо переписывать (
Функции _lopen больше нет. Там всё надо переписывать (
там не так уж много переписывать..
а раз всё равно нужен флаг "разрешены DLL" - то правильный путь это написать DLL. C/C++/C#/Pascal и тьма прочих в помощь.