错误代码5004

 

你好。


我刚刚更新了我的MT4 FXDD客户终端。新更新的客户终端出现了一个错误代码。 5004,而我在旧的MT4客户终端上没有这个错误。我知道错误5004是关于文件打开错误。我已经检查过了,每一个 "fileopen "都做了 "fileclose"。

我还检查了Windows 7的权限,我没有改变任何东西。

我在两个不同的笔记本上安装了FXDD MT4客户终端。在其中一台笔记本上,在安装过程中,我将所有的防火墙和杀毒软件关闭。

但它仍然向我返回相同的错误代码5004。

在我调试问题的过程中,我在Fileopen检查成功或失败后发出了警告。结果是,大约有10次文件打开成功,一次失败(最后一次错误5004)。

此外,到目前为止,错误代码5004似乎并没有影响我的EA性能(我的EA仍然像往常一样执行),尽管错误5004不断弹出。 事实上,旧的MT4并没有返回给我这种错误(我估计它也不应该)。


非常感谢您的帮助。

 
raisingfire:

你好。


我刚刚更新了我的MT4 FXDD客户终端。新更新的客户终端出现了一个错误代码。5004,而我在旧的MT4客户终端上没有这个错误。我知道错误5004是关于文件打开错误。我已经检查过了,每次 "fileopen "时我都做了 "fileclose"。

你使用的是什么版本?

你是重新编译还是使用509编译的.ex4?

 
raisingfire:

你好。


我刚刚更新了我的MT4 FXDD客户终端。新更新的客户终端出现了一个错误代码。5004,而我在旧的MT4客户终端上没有这个错误。我知道错误5004是关于文件打开错误。我已经检查过了,每一个 "fileopen "都做了 "fileclose"。

我还检查了Windows 7的权限,我没有改变任何东西。

我在两个不同的笔记本上安装了FXDD MT4客户终端。在其中一台笔记本上,在安装过程中,我将所有的防火墙和杀毒软件关闭。

但它仍然向我返回相同的错误代码5004。

在我调试问题的过程中,我在Fileopen检查成功或失败后发出了警告。结果是,大约有10次文件打开成功,一次失败(最后一次错误5004)。

此外,到目前为止,错误代码5004似乎并没有影响我的EA性能(我的EA仍然像往常一样执行),尽管错误5004不断弹出。 事实上,旧的MT4并没有返回给我这种错误(我估计它也不应该)。


非常感谢您的帮助。

欢迎来到mql4.com论坛。

你能提供一个代码片段来重现这个问题吗?

 
RaptorUK:

你使用的是什么版本?

你是重新编译还是使用509编译的.ex4?

新的客户终端是构建610。
 
angevoyageur:

欢迎来到mql4.com论坛。

你能提供一个代码片段来重现这个问题吗?



下面是一个不断弹出的代码片段(警报)。

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

fhandle=FileOpen(mfilename, FILE_BIN|FILE_READ)。

如果(fhandle<=0)

{ Alert( "File:", mfilename, " not found, thelast error is: ", GetLastError())。

filewriting(mfilename); }

如果(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)。

如果(fhandle<=0)

{ Alert( "File:", mfilename, " not found, the last error is: ", GetLastError())。

filewriting(mfilename); }

如果(fhandle>0)

FileClose(fhandle)。

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

我使用标准的MQL4文件函数,而不是DLL调用。 我试着在 "if(handle>0) "上加了一个备注,所以,它强制进行文件关闭。但是,它仍然给我那个错误代码

 
raisingfire:

这是打开文件和关闭文件的部分。

RaptorUK:
如果你这样做,请使用 SRC按钮