erro em programa rodando sem tela

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

Moderador: Moderadores

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 »

Pessoal,

Fiz há algum tempo, com ajuda de alguns colegas do grupo, uma função para rodar sem tela (rodar em background, sem aparecer nada na tela). Funcionava perfeitamente.

A função está sendo chamada assim:

Código: Selecionar todos

						 comando="TAR2P.EXE " + us + " " + nmus + " " + vers
                         Hb_Run("Start /b " + comando)
Ultimamente, entretanto, ela está dando um problema: ao chamar a função, aparece a mensagem "Arquivo já está sendo usado", e daí não roda. Só que eu já testei várias vezes, a função não estava rodando. E mesmo que estivesse, não faz sentido dizer que o arquivo .exe já está sendo usado. Inclusive já havia testado rodá-la enquanto já estava sendo rodada, e funcionava perfeitamente.

Alguém saberia me dizer o que é isso?
Inacio de Carvalho Neto
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

erro em programa rodando sem tela

Mensagem por Pablo César »

Verificou se no Gerenciador de Tarefas do Windows (Ctrl Alt Del) não estaria já sendo executado em background ?
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
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 »

Verifiquei. Não aparece esse programa no Gerenciador de tarefas do Windows, nem mesmo quando ele está rodando. Porque ele roda dentro da janela do programa que o chamou, então só aparece o programa que o chamou, não o do programa chamado.
Inacio de Carvalho Neto
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

erro em programa rodando sem tela

Mensagem por Pablo César »

cjp escreveu:Verifiquei. Não aparece ..//.. Porque ele roda dentro da janela do programa que o chamou, então só aparece o programa que o chamou, não o do programa chamado.
Não senhor ! Você deve procurar pela tarefa "cmd", pois você está executando através do START que é comando do sistema operacional para DOS.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
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á Pablo,
Pablo César escreveu: Você deve procurar pela tarefa "cmd", pois você está executando através do START que é comando do sistema operacional para DOS.
Pablo, permita-me descordar. Um programa chamado pelo START ou pelo Run ou Hb_RUN do Harbour, aparece no gerenciador de tarefas o nome do programa que está sendo executado, podendo inclusive finalizar o processo através do gerenciador.

Inácio, que versão do Harbour você está usando?
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
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

erro em programa rodando sem tela

Mensagem por Pablo César »

Jairo Maia escreveu:permita-me descordar. Um programa chamado pelo START ou pelo Run ou Hb_RUN do Harbour, aparece no gerenciador de tarefas o nome do programa que está sendo executado, podendo inclusive finalizar o processo através do gerenciador.
Você tem certeza disso ?
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
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á Pablo,

Sim, tenho certeza. Aliás, lembro-me que participei do tópico do cloga cjp (Inácio) que discutimos esta questão, se não me engano intitulado Rodar programa invisível.

Outrossim, se sair para o cmd e chamar qualquer programa usando o Start ou de forma direta, poderá ser visto tanto o cmd, bem como a cadeia dos programas que foram chamadas por ele.
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
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

erro em programa rodando sem tela

Mensagem por Pablo César »

Jairo, faça um teste ai. Mas antes de executá-lo abra o Gerenciador de Tarefas e ordene por ordem alfabetica o nome dos processos e depois chame o teste. Você vai ver que chama o cmd e depois sai fora. Talvez por alguma razão o programa do colega esteja ocorrendo algum erro ou abortando com erro e fica na memória.

Mas que o cmd é executado, ele é...
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
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 »

Pelos testes que eu fiz, no Gerenciador fica sim como cmd.exe, mas isso o programa principal, porque o programa chamado pelo start não aparece mais nada.

No caso, o problema é que o programa não está sequer sendo iniciado, dando a informação de que "o arquivo já está sendo usado por outro processo".
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,

Por essa razão, num post mais acima perguntei qual versão do Harbour isto está ocorrendo. Alerto que na versão 3.2 o Run havia problema até pouco tempo atrás. Não sei se você está usando a versão nightly, e não sei se ela já tem uma release corrigida. Se você procurar no fórum, o colega Josè Quintas já publicou que na versão do SVN este problema foi corrigido. Como sei que você é paciente e persistente, foi a razão de ter perguntado qual versão do Harbour você está usando. Na versão 3.2 nightly o Run apresenta problemas.
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 »

Realmente, Jairo, eu esqueci de te responder isso. Eu uso a 3.0. Tem problema nessa versão também?

Mas o curioso é que, desde que eu mudei para o Harbour, justamente por causa desse programa (vc deve lembrar que vc me ajudou muito com isso), sempre usei essa versão 3.0 e funcionava perfeitamente até uns 20 dias atrás.
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:Eu uso a 3.0. Tem problema nessa versão também?
Não. Na versão 3.0 o Run se comporta assim como no Clipper, e com melhor performance.

O que pode estar ocorrendo para você receber esta mensagem, é o fato de ter mudado algum atributo. Para verificar se isso ocorreu, proceda da seguinte forma:

1 - no prompt de comando, na pasta em que está o TAR2P.EXE digite: Attrib tar2p.exe
2 - se aparecer algum atributo além do A (Arquivo), precisa desativar
3 - para desativar pelo prompt, basta digitar: Attrib -atributo TAR2P.EXE, sendo que podem ser R, S ou H. Tem que deixar somente o atributo A.

Faça essa verificação e nos reporte.
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 »

Aqui no meu computador está apenas com A mesmo.

Será possível que esteja diferente nos computadores dos usuários? O que mais estranho é o fato de que deixou de funcionar com todos os usuários ao mesmo tempo.
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,

Como você pode perceber, o problema está nas máquinas dos usuários. Como o sistema dos usuários é atualizado via FTP, é possivel que por alguma razão quando você subiu a última atualização ele foi com algum atributo de proteção, provavelmente o R de Read Only. Se você transportou esse arquivo via CD por exemplo antes da atualização, pode ser o motivo.

Se você puder obter essa informação de algum usuário, ou seja, a confirmação que o TAR2P.EXE tem outro atributo além do A, então fica claro a questão. O problema é que mesmo que o usuário faça outra atualização, o arquivo TAR2P.EXE não será atualizado, pois está protegido. Assim, sugiro que ao subir a atualização, certifique-se de que ele está somente com o atributo A, e antes de iniciar a cópia dos arquivos de atualização para o usuário, desproteja o arquivo do usuário:

Código: Selecionar todos

Hb_Run( "Attrib -R -S -H TAR2P.EXE" )

ou

Hb_Run( "Attrib -R -S -H Drive_e_Pasta_Do_Arquivo\TAR2P.EXE" )
Se não estou enganado, após baixar pelo ftp você faz a cópia por arquivo .BAT, se for o caso, você pode colocar esse comando direto no arquivo de lote.
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 »

Vou testar isso nos computadores dos usuários quando tiver acesso. Depois te informo.

Coloquei assim no .bat onde descompilo o arquivo .rar que se transforma no .exe. Veja se está certo:

Código: Selecionar todos

if exist tar2p.exe attrib -r -s -h tar2p.exe

if exist tar2p.rar rar e tar2p -y
Inacio de Carvalho Neto
Responder