質問

これは、.NET exeファイルからのエラーレベル以外の戻り値を取得することはできますか? exeファイルは、スクリプト、バッチまたはREXXから呼び出すことがある。

でない場合は、バッチまたはREXXからアセンブリ内のメソッドを呼び出し、戻り値を取得することができますか?

役に立ちましたか?

解決

任意の.NET実行ファイルのエントリ(及び終了)点は主な方法です、そのstaticメソッドvoid又はint戻り型のいずれかで宣言されなければならない。

このような理由から、あなたは直接int以外を返すことができません。

このint値は、エラーレベル(慣例、0によって成功を意味する)である。

あなたはまだあなたのプログラム書き込み中にあなたが好きな書き込み、そこから読み取ることができるようになる「ステータス」ファイルにすることができます。

他のヒント

C / C ++コンテキストでは、main()メソッドのシグネチャに依存します。しかし、リターンがint型でなければならないことは必須です。それでは、オデッド提案は

試してみる価値があります

の可能な代替ソリューションは、あなたの.NETメソッドは、REXXがそれを見つけることができる場所に出力しますどのrxqueue.exeにリダイレクトされ、カムどのstdoutに文字列を出力することです。それはキューからプル到着したとき、あなたの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