Question

Est-il possible d'obtenir une valeur de retour autre que le niveau d'erreur de .net exe? L'exe doit être appelé à partir d'un script, batch ou REXX.

Dans le cas contraire, vous pouvez invoquer une méthode dans un ensemble de lots ou REXX et récupérer une valeur de retour?

Était-ce utile?

La solution

L'entrée (et de sortie) tout point de exécutable .NET est procédé principal , qui doit être une méthode statique déclaré avec soit un type de void ou le retour de int.

Pour cette raison, vous ne pouvez pas retourner directement quoi que ce soit autre qu'un int.

Cette valeur int est le niveau d'erreur (par convention, 0 signifie la réussite).

Vous pouvez toujours dans votre écriture de programme dans un fichier « statut » qui vous permettra d'écrire tout ce que vous voulez et lire.

Autres conseils

C / C ++ contexte, il dépend de la signature de la méthode main (). Mais il est obligatoire que le retour doit être int. Donc, la suggestion de Oded est la peine d'essayer

Une solution de rechange possible est d'avoir votre méthode .net imprimer une chaîne à stdout qui Çam être redirigé vers rxqueue.exe qui place la sortie dans un lieu où REXX peut trouver. Ensuite, dans votre emballage REXX, attendez le retour et quand il arrive tirer de la file d'attente.

'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 */
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top