Página 1 de 1

Debugando funciona, rodando normal não.... <<RESOLVIDO>>

Enviado: 14 Set 2009 02:01
por fladimir
Pessoal muito estranho pra mim, talvez algum colega saiba da seguinte situação,

Utilizo o ACBRMonitor para Gerenciar ECF´s e tudo ok, resolvi implementar uma rotina para mostrar para o usuário o Estado em q se encontra a ECF, exemplo:

Livre,
Bloqueada,
Aguardando Redução Z
Etc.

Tais respostas são geradas pelo ACBRMonitor qdo vc envia uma comando ECF.Estado e retorna na forma de um arq TXT chamado Saida.TXT em uma pasta q vc pré-define o local.

O q ocorre a rotina esta certa, tanto q vc rodando passo a passo (F8) com o Debug ela aparece normalmente, agora se vc executar sem Debug, tipo deixar passar direto a variável não pega o conteúdo do Arquivo TXT fica "" sem nada.

Abaixo código para apreciação:

Código: Selecionar todos

*******************************************************************************
Function EstadoECF()
* Mostra o Estado q se encontra a ECF atraves do ACBR
*******************************************************************************
Local RetAcbr, RetAcbr2

FileDelete("C:\ACBR\SAI.TXT" )

//Altd()    --->> Se rodo com o Debug funciona fazendo passo a passo F8, agora sem não funciona

Comando( "ECF.Estado")

RetACBr   := "C:\ACBR\sai.txt"
RetACBR2 := Memoread(retACBR)
Alert( retacbr, {" Continua "},vcw)
Inkey(5)
Return

O q pode ser... ??? Nunca ví isso...

Grato e Sucesso!!!

:)Pos

Re: Debugando funciona, rodando normal não....

Enviado: 14 Set 2009 08:45
por fladimir
Pessoal fiz uns testes e obtive uns resultados curiosos,

Fiz o Código acima com Fopen, Fread, etc

Se executo normal o resultado do FOpen para o arquivo Sai.TXT é -1, por isso ele não exibe a msg, agora sem modificar nada, mas executando Passo a Passo (F8) pelo Debug o retorno do Fopen para o Arquivo é 1928 e ele exibe a msg...

Agora pq isso se o código é o mesmo ???

Grato e Sucesso!!!

:)Pos

Re: Debugando funciona, rodando normal não....

Enviado: 14 Set 2009 08:49
por fladimir
Olha pessoa resolvi da seguinte maneira....

Código: Selecionar todos

...
While .t.

      Teste := FOpen("C:\ACBR\Sai.TXT")
       If Teste >0
           Exit
       Endif
       Fclose(Teste)
End

Alert( retacbr, {" Continua "},vcw)
...
Meu raciocínio foi para ficar tentando abrir e deu certo, agora pq q qdo via Debug roda normal e direto ele não abre de primeira não sei.

Vlw Pessoal... Sucesso!!!

:D

Re: Debugando funciona, rodando normal não.... <<RESOLVIDO>>

Enviado: 15 Set 2009 23:27
por sygecom
Menos mal que resolveu, ainda não testei, mas pelos comentarios na lista do Harbour-Devel o DEBUG do Harbour ficou superior ao do xHarbour...

Re: Debugando funciona, rodando normal não.... <<RESOLVIDO>>

Enviado: 18 Set 2009 08:36
por sambomb
Acho que a questão que estava gerando erro é que o retorno da função estava sendo enviada antes da criação do txt, assim vc tentava ler um txt que não existe ainda e com o debug vc da tempo suficiente para criar o txt(esse tempo pode ser de menos de 1 segundo) mas ainda assim para rodar direto pode causar problema...
Talvez se vc usar um HD SSD ou sata II 10.000 rpm possa resolver o problema tb... pois iria diminuir o tempo de escrita no HD [;)]