Código de erro 5004

 

Olá,


Acabo de atualizar meu terminal de cliente MT4 FXDD. O novo terminal de cliente atualizado deu um código de erro: 5004, que eu não tinha no antigo terminal de cliente MT4. Entendo que o erro 5004 é sobre erro de arquivo aberto. Eu verifiquei e fiz "fileclose" para cada "fileopen".

Verifiquei também a permissão do Windows 7, e não mudo nada.

Instalei o terminal cliente FXDD MT4 em 2 cadernos diferentes. Em um dos cadernos, durante a instalação, tornei inativo todo o firewall e o antivírus.

E ainda assim, ele me devolve o mesmo código de erro 5004.

Durante meu processo de depuração do problema, eu coloquei um alerta após o Fileopen ter sido uma verificação bem-sucedida ou falhada. E o resultado foi, foi cerca de 10 vezes bem sucedido fileopen e uma vez falhou (último erro 5004).

Além disso, o código de erro 5004 não parece afetar meu desempenho da EA até agora (minha EA ainda funciona como de costume), embora o erro 5004 continue aparecendo. O fato é que o antigo MT4 não me devolveu esse tipo de erro (e eu acho que não deveria).


Sua ajuda será muito apreciada.

 
raisingfire:

Olá,


Acabo de atualizar meu terminal de cliente MT4 FXDD. O novo terminal de cliente atualizado deu um código de erro: 5004, que eu não tinha no antigo terminal de cliente MT4. Eu entendo que o erro 5004 é sobre erro de arquivo aberto. Eu verifiquei e fiz "fileclose" para cada "fileopen".

Que construção você está usando?

Você recompilou ou está usando o build 509 compilado .ex4 ?

 
raisingfire:

Olá,


Acabo de atualizar meu terminal de cliente MT4 FXDD. O novo terminal de cliente atualizado deu um código de erro: 5004, que eu não tinha no antigo terminal de cliente MT4. Eu entendo que o erro 5004 é sobre erro de arquivo aberto. Eu verifiquei e fiz "fileclose" para cada "fileopen".

Verifiquei também a permissão do Windows 7, e não mudo nada.

Instalei o terminal cliente FXDD MT4 em 2 cadernos diferentes. Em um dos cadernos, durante a instalação, tornei inativo todo o firewall e o antivírus.

E ainda assim, ele me devolve o mesmo código de erro 5004.

Durante meu processo de depuração do problema, eu coloquei um alerta após o Fileopen ter sido uma verificação bem-sucedida ou falhada. E o resultado foi, foi cerca de 10 vezes bem sucedido fileopen e uma vez falhou (último erro 5004).

Além disso, o código de erro 5004 não parece afetar meu desempenho da EA até agora (minha EA ainda funciona como de costume), embora o erro 5004 continue aparecendo. O fato é que o antigo MT4 não me devolveu esse tipo de erro (e eu acho que não deveria).


Sua ajuda será muito apreciada.

Bem-vindo ao fórum mql4.com,

Você pode fornecer um trecho de código para reproduzir esta edição?

 
RaptorUK:

Que construção você está usando?

Você recompilou ou está usando o build 509 compilado .ex4 ?

O novo terminal do cliente é construído em 610.
 
angevoyageur:

Bem-vindo ao fórum mql4.com,

Você pode fornecer um trecho de código para reproduzir esta edição?



Aqui está um trecho de código (alerta) que continua aparecendo:

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

fhandle=FileOpen(mfilename, FILE_BIN|FILE_READ);

if(fhandle<=0)

{ Alerta( "Arquivo:", mfilename, " não encontrado, o último erro é: ", GetLastError()));

filewriting(mfilename); }

if(fhandle>0)

FileClose(fhandle);

 
raisingfire:
O novo terminal do cliente é construído em 610.

E sim, eu o recompilei.
 
raisingfire:

E sim, eu a recompilei.
OK, acho que para obter alguma ajuda específica você precisará mostrar seu código, se você fizer o favor de usar o botão SRC
 
RaptorUK:
OK, acho que para obter alguma ajuda específica você precisará mostrar seu código, se você fizer o favor de usar o botão SRC


Preciso carregar o código fonte inteiro? Se preciso, então, preciso de uma autorização especial de nossa gerência ... não do meu poder de decisão.
 
raisingfire:

Preciso carregar o código fonte inteiro? Se preciso, então, preciso de uma autorização especial de nossa gerência ... não do meu poder de decisão.
Você poderia postar a seção de código que abre o arquivo e escreve no arquivo ? ou se não puder explicar se você está usando funções de arquivo mql4 padrão ou se você está usando chamadas DLL?
 
RaptorUK:
Você poderia publicar a seção de código que abre o file handle e escreve no arquivo ? ou se não puder explicar se você está usando funções de arquivo mql4 padrão ou está usando chamadas DLL ?

Esta é a seção que abre o arquivo e fecha o arquivo :

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

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

fhandle=FileOpen(mfilename, FILE_BIN|FILE_READ);

if(fhandle<=0)

{ Alerta( "Arquivo:", mfilename, " não encontrado, o último erro é: ", GetLastError()));

filewriting(mfilename); }

if(fhandle>0)

FileClose(fhandle);

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

Eu uso as funções de arquivo padrão MQL4, não chamadas DLL. Tentei colocar uma observação no "if(handle>0)", portanto, ele força a fazer o fechamento do arquivo. Mas, ainda assim, ele me dá aquele código de erro.

 
raisingfire:

Esta é a seção que abre o arquivo e fecha o arquivo :

RaptorUK:
se você fizer o favor de usar o botão SRC
Razão: