Код ошибки 5004

 

Здравствуйте,


Я только что обновил свой клиентский терминал MT4 FXDD. Новый обновленный клиентский терминал выдал код ошибки: 5004, которого у меня не было в старом клиентском терминале MT4. Я понимаю, что ошибка 5004 связана с ошибкой открытия файла. Я проверил и сделал "fileclose" для каждого "fileopen".

Я также проверил разрешение Windows 7, и ничего не изменил.

Я установил клиентский терминал FXDD MT4 на 2 разных ноутбука. На одном из ноутбуков во время установки я сделал неактивными все брандмауэры и антивирусы.

И все равно он возвращает мне тот же код ошибки 5004.

В процессе отладки проблемы я установил предупреждение, что проверка Fileopen была либо успешной, либо неудачной. И в результате, около 10 раз было успешное открытие файла и один раз неудачное (последняя ошибка 5004).

Кроме того, код ошибки 5004, похоже, не влияет на производительность моего советника до сих пор (мой советник по-прежнему работает как обычно), хотя ошибка 5004 продолжает выскакивать. Факт остается фактом: старый MT4 не выдавал мне такой ошибки (и я считаю, что не должен).


Ваша помощь будет очень признательна.

 
raisingfire:

Здравствуйте,


Я только что обновил свой клиентский терминал MT4 FXDD. Новый обновленный клиентский терминал выдал код ошибки: 5004, которого у меня не было в старом клиентском терминале MT4. Я понимаю, что ошибка 5004 связана с ошибкой открытия файла. Я проверил и сделал "fileclose" для каждого "fileopen".

Какую сборку вы используете?

Вы перекомпилировали или используете скомпилированный .ex4 из билда 509?

 
raisingfire:

Здравствуйте,


Я только что обновил свой клиентский терминал MT4 FXDD. Новый обновленный клиентский терминал выдал код ошибки: 5004, которого у меня не было в старом клиентском терминале MT4. Я понимаю, что ошибка 5004 связана с ошибкой открытия файла. Я проверил и сделал "fileclose" для каждого "fileopen".

Я также проверил разрешение Windows 7, и ничего не изменил.

Я установил клиентский терминал FXDD MT4 на 2 разных ноутбука. На одном из ноутбуков во время установки я сделал неактивными все брандмауэры и антивирусы.

И все равно он возвращает мне тот же код ошибки 5004.

В процессе отладки проблемы я установил предупреждение, что проверка Fileopen была либо успешной, либо неудачной. И в результате, около 10 раз было успешное открытие файла и один раз неудачное (последняя ошибка 5004).

Кроме того, код ошибки 5004, похоже, не влияет на производительность моего советника до сих пор (мой советник по-прежнему работает как обычно), хотя ошибка 5004 продолжает выскакивать. Факт остается фактом: старый MT4 не выдавал мне такой ошибки (и я считаю, что не должен).


Ваша помощь будет очень признательна.

Добро пожаловать на форум mql4.com,

Можете ли вы предоставить фрагмент кода для воспроизведения этой проблемы?

 
RaptorUK:

Какую сборку вы используете?

Вы перекомпилировали или используете скомпилированный .ex4 из билда 509?

Новый клиентский терминал имеет сборку 610.
 
angevoyageur:

Добро пожаловать на форум mql4.com,

Можете ли вы предоставить фрагмент кода для воспроизведения этой проблемы?



Вот фрагмент кода (предупреждение), который постоянно выскакивает:

mfilename = StringSubstr(OrderTicket(),StringLen(OrderTicket())-7,7) + ".DAT";

fhandle=FileOpen(mfilename, FILE_BIN|FILE_READ);

if(fhandle<=0)

{ Alert("Файл:", mfilename, " не найден, последняя ошибка: ", GetLastError());

filewriting(mfilename); }

if(fhandle>0)

FileClose(fhandle);

 
raisingfire:
Новый клиентский терминал - это сборка 610.

И да, я перекомпилировал его.
 
raisingfire:

И да, я перекомпилировал его.
Хорошо, я думаю, чтобы получить конкретную помощь, вам нужно показать ваш код, если вы это сделаете, пожалуйста, используйте кнопку SRC
 
RaptorUK:
Хорошо, я думаю, чтобы получить конкретную помощь, вам нужно показать ваш код, если вы это сделаете, пожалуйста, используйте кнопку SRC


Нужно ли мне загружать весь исходный код? Если да, то мне нужно специальное разрешение от нашего руководства... не в моей власти решать.
 
raisingfire:

Нужно ли мне загружать весь исходный код? Если да, то мне нужно специальное разрешение от нашего руководства... не в моей власти решать.
Не могли бы вы выложить участок кода, который открывает хэндл файла и записывает в файл? Или, если нет, не могли бы вы объяснить, используете ли вы стандартные функции файла mql4 или вы используете вызовы DLL?
 
RaptorUK:
Не могли бы вы выложить участок кода, который открывает хэндл файла и записывает в файл? Или, если нет, можете ли вы объяснить, используете ли вы стандартные файловые функции Mql4 или используете вызовы DLL?

Это раздел, который открывает файл и закрывает файл :

**============================================

mfilename = StringSubstr(OrderTicket(),StringLen(OrderTicket())-7,7) + ".DAT";

fhandle=FileOpen(mfilename, FILE_BIN|FILE_READ);

if(fhandle<=0)

{ Alert("Файл:", mfilename, " не найден, последняя ошибка: ", GetLastError());

filewriting(mfilename); }

if(fhandle>0)

FileClose(fhandle);

** =============================================

Я использую стандартные файловые функции MQL4, а не вызовы DLL. Я попытался поставить замечание на "if(handle>0)", так что это заставляет сделать fileclose. Но он все равно выдает этот код ошибки.

 
raisingfire:

Это раздел, который открывает файл и закрывает файл:

RaptorUK:
если вы делаете это, пожалуйста, используйте кнопку SRC
Причина обращения: