Шутка))
ошибка 4104 - "incompatible access to a file", т.е. проблема либо с правами доступа, либо с чем-то еще, что не позволяет провести создание файла. Залогиньтесь под администратором, проверьте свои права на папку и создание файлов в ней, ....
Здравствуйте!
Пытаюсь создать файл и получаю 4104. Как с этим бороться?
Понимаю, что это тема юмора, но ответа я в форуме не нашёл :(
Шутка))
ошибка 4104 - "incompatible access to a file", т.е. проблема либо с правами доступа, либо с чем-то еще, что не позволяет провести создание файла. Залогиньтесь под администратором, проверьте свои права на папку и создание файлов в ней, ....
Да, я вижу, что атрибуты папки c:\Program Files (x86)\Alpari NZ MT4\experts\ "Только для чтения (применимо только к файлам папки)". Я работаю под Администратором и снимаю флажок "Только для чтения". Выполняется без предупреждений. Но когда я опять смотрю Атрибуты, то опять вижу "Только для чтения".
А текст очень простой:
int init()
{
int Res;
FName = "File.txt";
Handle = FileOpen(FName, FILE_WRITE);
S = "Начало";
Res = FileWriteString(Handle, S, StringLen(S));
if (Res == -1)
Alert("Handle = " + Handle + " Code = " + GetLastError());
FileClose(Handle);
return(0);
}
Вот кнопкой SRC:
int init() { int Res; FName = "File.txt"; Handle = FileOpen(FName, FILE_WRITE); S = "Начало"; Res = FileWriteString(Handle, S, StringLen(S)); if (Res == -1) Alert("Handle = " + Handle + " Code = " + GetLastError()); FileClose(Handle); return(0); }
Вот кнопкой SRC:
надо ставить все права и на всех, пользователя создателя и админа. легче вынести папку с терминалом в корень, или на другой диск.
Всё перепробовал - и в корень С:, и в корень Е:, и права дал всем, кто есть в системе - ничего не помогает. Кстати, после того как перенёс в корень, в папку experts\filles стали копироваться файлы безо всяких вопросов. Что делать - не понимаю :(
На самом деле код такой:
int init() { int Res; string S; string FName = Symbol() + "_" + DateForFileName(TimeCurrent()) + ".txt"; Alert("IsExpertEnabled = " + IsExpertEnabled() + " " + "FName = " + FName); Handle = FileOpen(FName, FILE_WRITE); S = "Начало"; Res = FileWriteString(Handle, S, StringLen(S)); if (Res == -1) Alert("Handle = " + Handle + " Code = " + GetLastError()); FileClose(Handle); return(0); }
Сообщения получаю такие:
IsExpertEnabled = 1 FName = EURUSD_2012_04_09.txt
Handle = 1 Code = 4104
При этом создаётся файл нулевой длины.
int init() { int Res; string FName = "File.txt"; int Handle = FileOpen(FName, FILE_BIN|FILE_WRITE); string S = "Начало"; Res = FileWriteString(Handle, S, StringLen(S)); if (Res == -1) Alert("Handle = " + Handle + " Code = " + GetLastError()); FileClose(Handle); return(0); }
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Здравствуйте!
Пытаюсь создать файл и получаю 4104. Как с этим бороться?
Понимаю, что это тема юмора, но ответа я в форуме не нашёл :(