Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Работает!
Теперь другой вопрос: как засунуть во входной параметр переменную среды %USERNAME% ? Вариант
не проходит
мало того что не проходит, так это ещё и неправильно :-)
%USERNAME% не имеет отношения к каталогам. Они могут иметь несвязанные имена
за "домашний каталог" отвечают %HOMEDRIVE% %HOMEPATH% , за данные приложений %APPDATA% %LOCALAPPDATA%
PS/ (сам себя не похвалишь, как оплёванный ходишь). Вот отчасти чтобы не исполнять такие "танцы с бубнами" воткнул в 4-ку tcl.
Print("Error mkdir :"+tcl.StringResult());
}
доотлаживаю в 4-ке, портирую на 5-ку. Там в принципе только размеры указателей отличаются
мало того что не проходит, так это ещё и неправильно :-)
%USERNAME% не имеет отношения к каталогам. Они могут иметь несвязанные имена
за "домашний каталог" отвечают %HOMEDRIVE% %HOMEPATH% , за данные приложений %APPDATA% %LOCALAPPDATA%
PS/ (сам себя не похвалишь, как оплёванный ходишь). Вот отчасти чтобы не исполнять такие "танцы с бубнами" воткнул в 4-ку tcl.
Print("Error mkdir :"+tcl.StringResult());
}
доотлаживаю в 4-ке, портирую на 5-ку. Там в принципе только размеры указателей отличаются
Про %USERNAME% это был попутный вопрос. Сейчас главное - это правильно написать создание папки #10
Про %USERNAME% это был попутный вопрос. Сейчас главное - это правильно написать создание папки #10
про п 10 - "ненужный параметр" объявить как long и приравнять к 0. получится "Си-шный" NULL :-)
Всё работает.
Папка создаётся )))
А какая у Вас операционная система? У меня
на
не работает
А какая у Вас операционная система? У меня
на
не работает
А зачем вы wchar переделали ?
тут уж одно из двух, или string и CreateDirectoryW или char[] и просто CreateDirectory
Здесь подсказали, что при вызове dll из MQL5 вместо string переменной нужно передавать массив char.
Но если делаю так:
получаю ошибку
ERROR_ACCESS_DENIED5 (0x5)Access is denied.
Если переделывать в массив, то нужно использовать массив wchar, а не char. В этом случае нужна функция StringToShortArray. Хотя string - это и есть массив wchar. Разве что с типом доступа, не позволяющим его модификацию.
А зачем вы wchar переделали ?
тут уж одно из двух, или string и CreateDirectoryW или char[] и просто CreateDirectory
Если переделывать в массив, то нужно использовать массив wchar, а не char. В этом случае нужна функция StringToShortArray. Хотя string - это и есть массив wchar. Разве что с типом доступа, не позволяющим его модификацию.
Переделал в char, так как подсказали.
А вот если делать "CreateDirectory" то такой функции нет:
Переделал в char, так как подсказали.
А вот если делать "CreateDirectory" то такой функции нет:
CreateDirectoryA. Только для нее нужен массив char.
Из описания CreateDirectory следует, что второй параметр (опциональный) нужно передавать как NULL (не MQL5 NULL, а c++ NULL)
чтобы это соответствовало c++ NULL.
1) Тут точно нужна ссылка? Как по мне, просто 0 передать по значению и все.
2) Вы используете Unicode версию CreateDirectory, зачем передавать массив чаров? Возможно проще передавать string из MQL по ссылке.
Sergey Dzyublik:
Тут точно нужна ссылка?
Как по мне, просто 0 передать по значению и все.
Ну я пробовал и ссылку и просто ноль. Не работает в связке с массивом char.