Pergunta

É possível obter um valor de retorno diferente de nível de erro de .net exe? O exe é para ser chamado de um script, lote ou rexx.

Se não, você também pode chamar um método em uma montagem de lote ou rexx e recuperar um valor de retorno?

Foi útil?

Solução

A entrada (e saída) Ponto de qualquer .NET executável é o método principal , que tem de ser um método estático declarado com qualquer um void ou retorno int tipo.

Por esta razão, você não pode retornar diretamente outra coisa senão uma int.

Este valor int é o nível de erro (por convenção, 0 significa bem-sucedida).

Você pode ainda em sua gravação do programa para um arquivo "status" que permitirá que você para escrever o que quiser e ler a partir dele.

Outras dicas

contexto Em C / C ++ Depende da assinatura do método principal (). Mas é obrigatório que o retorno deve ser int. Então a sugestão de oded é uma tentativa vale a pena

Uma solução alternativa possível é ter o seu método .net imprimir uma string para stdout que cam ser redirecionado para rxqueue.exe que coloca a saída em um lugar onde rexx pode encontrá-lo. Então, em seu invólucro rexx, espera no retorno e quando chega tração da fila.

'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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top