Pregunta

¿Es posible obtener un valor de retorno distinto nivel de error de exe .net? El exe se llamará a partir de un guión, por lotes o rexx.

Si no, ¿puede invocar un método en un conjunto de lotes o rexx y recuperar un valor de retorno?

¿Fue útil?

Solución

La entrada (y salida) punto de cualquier ejecutable .NET es la método principal , que tiene que ser un método estático declaró ya sea con un void o devolución int tipo.

Por esta razón, no se puede volver directamente otra cosa que un int.

Este valor int es el nivel de error (por convención, 0 significa éxito).

Usted todavía puede en su programa de escritura a un archivo "status" que le permitirá escribir lo que quiera y leer de él.

Otros consejos

En C / C ++ contexto Depende de la firma del método main (). Sin embargo, es obligatorio que el retorno debe ser int. Así de oded sugerencia es digno de un intento

Una solución alternativa posible es que su método de .NET imprimir una cadena a la salida estándar, que Cam ser redirigido a rxqueue.exe que sitúa a la salida en un lugar donde pueda encontrarlo rexx. Luego, en su envoltorio rexx, esperar en el regreso y cuando llega tirar de la cola.

'external.exe | rxqueue'
line. = ''
ndx = 0
do while queued() > 0
   ndx = ndx + 1    
   parse pull line.ndx
end 
line.0 = ndx  /* this is unnecessary but is a common practice to store the 
                 stem size in leaf 0 */

/* now deal with your results */
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top