Pergunta

Eu tenho um aplicativo de console (escrito no VB6) que está se comportando estranhamente na minha máquina. Eu o inicio na linha de comando e o que deve ser um trabalho de dois minutos cai de volta ao prompt - se eu executar isso em outra máquina, o executável ficará e aguardará até que o trabalho termine antes de devolver o controle de volta ao prompt. Se eu verificar o Process Explorer, posso ver que o executável está sendo executado como um processo em segundo plano e, além dessa estranha, está em execução conforme o esperado.

Alguma idéia de por que isso poderia estar acontecendo? (Executando em Windows XP Pro SP3 de 32 bits.)

Foi útil?

Solução

Parece -me como se o aplicativo não estivesse sendo reconhecido como um aplicativo de console em uma de suas máquinas. Os aplicativos de console não foram oficialmente apoiados no VB6, embora existam alguns hacks bem conhecidos para criá-los (particularmente o suplemento gratuito Vbadvance). Possivelmente o seu aplicativo de console não é um pouco confiável? Se o Windows acha que seu aplicativo é uma GUI e não um aplicativo de console, ele não esperará que ele termine.

Como uma solução alternativa pragmática: tente lançar com Iniciar /esperar em vez de apenas usar o exene nome. Isso força o prompt de comando a aguardar o término do programa, seja um aplicativo GUI ou um aplicativo de console.

Outras dicas

Não está totalmente claro se este é um aplicativo que você escreveu e tem o código -fonte para o qual. Se for esse o caso, você precisa entrar e começar a depurar. No mínimo, use OutputDebugString Para enviar informações sobre o que está acontecendo para qualquer número de espectadores em potencial. Dando isso um passo adiante, considere reconstruir o aplicativo usando o Módulo de console Eu escrevi, junto com Vbadvance para recompilar. Essa combinação permitirá que o poder total do VB6 IDE depra. Não há mais adivinhação sobre o que está acontecendo.

Por outro lado, se não é o seu aplicativo, não tenho certeza do que o VB6 tem a ver com isso e desejo -lhe boa sorte tentando descobrir o que está acontecendo.

Parece que está ocorrendo um erro que está sendo 'engolido' pelo aplicativo. Você tem o código -fonte?

Os erros nos aplicativos VB6 geralmente são devidos ao componente COM não instalado e/ou registrado.

Download Monitor de processos de sysinternals E isso aparecerá acessos a progids que falham (componentes com componentes desinstalados/não registrados).

Verificação de saída: Monitor de processos - laboratórios práticos e exemplos.

Você verificou permissões? O aplicativo está acessando algum recurso baseado em rede?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top