erro em programa rodando sem tela

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

erro em programa rodando sem tela

Mensagem por Jairo Maia »

Isso ai colega. Pelo que você relata este pode ser o problema. Se for assim será corrigido e o TAR2P.EXE voltará a funcionar normalmente.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

erro em programa rodando sem tela

Mensagem por Jairo Maia »

Inácio, também me ocorreu o seguinte: Se por alguma razão na ultima atualização o arquivo TAR2P.EXE foi excluído, e não recolocado na pasta por ausência no servidor ou impossibilidade de descompactação, também será emitida a mesma mensagem. Além de tentar verificar atributos, precisa também verificar se o arquivo está na pasta.

Não sei se você antes de execuar este aplicativo testa sua existência na pasta, caso não, e para segurança futura, sugiro algo assim:

Código: Selecionar todos

If !File( "TAR2P.EXE" )
 Alert( "Arquivo TAR2P.EXE Ausente na Pasta" )
Else
 nHandler := FOpen( "TAR2P.EXE", 2 )
 If FError() != 0
  Hb_Alert( "TAR2P executando tarefa" )
 Else
  FClose( nHandler )
  comando="TAR2P.EXE " + us + " " + nmus + " " + vers
  Hb_Run("Start /b " + comando)
 Endi
Endi
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

erro em programa rodando sem tela

Mensagem por cjp »

Más notícias, caro Jairo: não funcionou.

Verifiquei que o arquivo está apenas com o atributo A, mas mesmo assim está dando a referida mensagem.

E o arquivo efetivamente existe na pasta, já verifiquei.

O que mais poderia ser?
Inacio de Carvalho Neto
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

erro em programa rodando sem tela

Mensagem por Jairo Maia »

Olá Inácio,

Interessante!!! Se fosse ocasionado por algum erro, ela apenas abortaria e não emitiria a mensagem de que já está em uso. Só se inadvertidamente foi colocado em algum ponto um FOpen( ) e não fechado o Handler. Isso faz com que essa mensagem seja emitida, e claro, não aparece o arquivo no gerenciador, já que não está sendo executado, mas apenas aberto para leitura e gravação.

Isto está ocorrendo somente nas máquinas dos usuários? Na sua máquina o mesmo aplicativo roda normal?

Tem como você publicar sua função mesmo que seja por anexo? Vamos tentar entender o que ocorre.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

erro em programa rodando sem tela

Mensagem por cjp »

Jairo,

Descobri que o problema é que o Fclose() não está fechando o arquivo. Não entendi por quê. Ainda não testei exaustivamente, vou fazê-lo a partir de agora.

Mas vc saberia me dizer a razão de o Fclose() não fechar o arquivo?
Inacio de Carvalho Neto
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

erro em programa rodando sem tela

Mensagem por Jairo Maia »

Olá Inácio,
cjp escreveu:Mas vc saberia me dizer a razão de o Fclose() não fechar o arquivo?
Não vejo nenhuma razão para isso, e não tenho conhecimento de falha ao fechar um arquivo. Esse processo aliás, me é tido tanto eficaz quanto ao CLOSE <alias>. Uma vez informado corretamente ao FClose() o controlador (Handler) que deseja fechar ele funciona.

Espero que consiga resolver, afinal o mais importante foi detectado, ou seja, o arquivo está aberto quando se tenta abri-lo.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Responder