你好。
我刚刚更新了我的MT4 FXDD客户终端。新更新的客户终端出现了一个错误代码。5004,而我在旧的MT4客户终端上没有这个错误。我知道错误5004是关于文件打开错误。我已经检查过了,每次 "fileopen "时我都做了 "fileclose"。
你使用的是什么版本?
你是重新编译还是使用509编译的.ex4?
你好。
我刚刚更新了我的MT4 FXDD客户终端。新更新的客户终端出现了一个错误代码。5004,而我在旧的MT4客户终端上没有这个错误。我知道错误5004是关于文件打开错误。我已经检查过了,每一个 "fileopen "都做了 "fileclose"。
我还检查了Windows 7的权限,我没有改变任何东西。
我在两个不同的笔记本上安装了FXDD MT4客户终端。在其中一台笔记本上,在安装过程中,我将所有的防火墙和杀毒软件关闭。
但它仍然向我返回相同的错误代码5004。
在我调试问题的过程中,我在Fileopen检查成功或失败后发出了警告。结果是,大约有10次文件打开成功,一次失败(最后一次错误5004)。
此外,到目前为止,错误代码5004似乎并没有影响我的EA性能(我的EA仍然像往常一样执行),尽管错误5004不断弹出。 事实上,旧的MT4并没有返回给我这种错误(我估计它也不应该)。
非常感谢您的帮助。
欢迎来到mql4.com论坛。
你能提供一个代码片段来重现这个问题吗?
你使用的是什么版本?
你是重新编译还是使用509编译的.ex4?
欢迎来到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)。
新的客户终端是构建610。
而且是的,我已经重新编译了它。
你能把打开文件句柄并写入文件的代码部分贴出来吗? 如果不能,你能解释一下你是在使用标准的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) "上加了一个备注,所以,它强制进行文件关闭。但是,它仍然给我那个错误代码。
你好。
我刚刚更新了我的MT4 FXDD客户终端。新更新的客户终端出现了一个错误代码。 5004,而我在旧的MT4客户终端上没有这个错误。我知道错误5004是关于文件打开错误。我已经检查过了,每一个 "fileopen "都做了 "fileclose"。
我还检查了Windows 7的权限,我没有改变任何东西。
我在两个不同的笔记本上安装了FXDD MT4客户终端。在其中一台笔记本上,在安装过程中,我将所有的防火墙和杀毒软件关闭。
但它仍然向我返回相同的错误代码5004。
在我调试问题的过程中,我在Fileopen检查成功或失败后发出了警告。结果是,大约有10次文件打开成功,一次失败(最后一次错误5004)。
此外,到目前为止,错误代码5004似乎并没有影响我的EA性能(我的EA仍然像往常一样执行),尽管错误5004不断弹出。 事实上,旧的MT4并没有返回给我这种错误(我估计它也不应该)。
非常感谢您的帮助。