Pregunta

Tengo una aplicación de consola (escrita en VB6) que se comporta de manera extraña en mi máquina. Lo inicio desde la línea de comando y lo que debería ser un trabajo de dos minutos vuelve directamente a la solicitud: si ejecuto esto en otra máquina, el ejecutable se sentará y esperará hasta que finalice el trabajo antes de regresar el control a la solicitud. Si reviso el explorador de procesos, puedo ver que el ejecutable se está ejecutando como un proceso en segundo plano y, aparte de este extraño fondo, se está ejecutando como se esperaba.

¿Alguna idea de por qué esto podría estar sucediendo? (Se ejecuta en Windows XP Pro SP3 de 32 bits).

¿Fue útil?

Solución

Me parece que la aplicación no está siendo reconocida como una aplicación de consola en una de sus máquinas. Las aplicaciones de consola no se admitían oficialmente en VB6, aunque existen algunos hacks conocidos para crearlas (particularmente el complemento gratuito vbAdvance ). ¿Posiblemente su aplicación de consola es un poco poco confiable? Si Windows cree que su aplicación es una GUI en lugar de una aplicación de consola, no esperará a que termine.

Como solución alternativa pragmática: intente iniciar con start / wait en lugar de solo usar el exename. Eso obliga al símbolo del sistema a esperar a que el programa finalice, ya sea una aplicación GUI o una aplicación de consola.

Otros consejos

No está totalmente claro si esta es una aplicación para la que escribió y tiene el código fuente. Si ese es el caso, debe ingresar y comenzar a depurar. Como mínimo, use OutputDebugString para enviar información sobre lo que está sucediendo a cualquier número de posibles espectadores. Dando un paso más, considera volver a cablear la aplicación usando el Módulo de consola que escribí, junto con < a href = "http://vb.mvps.org/tools/vbAdvance" rel = "nofollow noreferrer"> vbAdvance para volver a compilar. Esta combinación le permitirá toda la potencia del IDE VB6 para depurar dentro. No más adivinanzas sobre lo que está sucediendo.

Por otra parte, si no es su aplicación, no estoy seguro de qué tiene que ver VB6 con ella y le deseo la mejor de las suertes tratando de descubrir qué pasa.

Parece que se está produciendo un error que está siendo 'tragado' por la aplicación. ¿Tienes el código fuente?

Los errores en las aplicaciones VB6 a menudo se deben a que algunos componentes COM no están instalados o registrados.

Descargue SysInternals Process Monitor y esto mostrará los accesos a ProgID que fallan (componentes COM desinstalados / no registrados).

Echa un vistazo: Monitor de procesos - Laboratorios prácticos y ejemplos .

¿Ha verificado los permisos? ¿Está la aplicación accediendo a recursos basados ??en la red?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top