是否有可能得到比从.NET EXE错误等级之外的一个返回值? exe文件是从一个脚本,批处理或REXX调用。

如果没有,则可以调用在从间歇或REXX一个组件的方法和检索一个返回值?

有帮助吗?

解决方案

任何.NET可执行文件的条目(和出口)点是主要方法,它必须与任一一个或void int返回类型中声明的静态方法。

由于这个原因,你不能直接返回以外的任何其他一个int

int值是错误级别(按照惯例,0表示成功的)。

您仍然可以在你的程序写入到一个“状态”的文件,让你写任何你想要的,并从中读出。

其他提示

在C / C ++上下文这取决于main()方法的签名。但是,它是强制性的回报应该是int。因此,俄德的建议是值得一试。

一个可能的替代的解决方案是让你的.NET方法打印一个字符串到stdout其中凸轮被重定向到rxqueue.exe其中地方输出在一个地方,REXX可以找到它。然后在你的REXX包装,等待回报,当它到达从队列中拉出。

'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 */
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top