[リストへもどる]
一括表示

投稿時間:2004/01/07(Wed) 13:27
投稿者名:Dai
Eメール:
URL :
タイトル:
終了コードの返し方
バッチJOBのスケジューラに対し、エラー時に何らかの終了コードを持って返したいのですが
方法が判りません。

正常終了(0)
異常終了(9)というような感じで。。

何方かご教示願えますでしょうか?

投稿時間:2004/01/07(Wed) 15:03
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re: 終了コードの返し方
> バッチJOBのスケジューラに対し、エラー時に何らかの終了コードを持って返したいのですが
> 方法が判りません。

VB製EXEは終了コード(ERRORLEVEL)を返せません。常に0となります。
(VB.NETならば、Sub Main を Function Main() As Integer にするだけで対応できるのですけれども)

一応、ExitProcess という API を使えば、返せない事も無いのですが、
個人的にはお勧めできません。(Win9x 系のOSではメモリリークの原因にもなります)


とりあえず、VBScriptであれば、WScript.Quitメソッドで終了コードを返せるので、
代替案として「VBScriptからVB6製ActiveX DLLを呼び出す」という運用にしてみるとか。

投稿時間:2004/01/07(Wed) 16:06
投稿者名:Dai
Eメール:
URL :
タイトル:
Re^2: 終了コードの返し方
ありがとうございました。
一筋縄ではいかないと言う事なのですね。。(-_-、)

投稿時間:2004/01/09(Fri) 13:27
投稿者名:Say
Eメール:
URL :
タイトル:
Re^3: 終了コードの返し方
C/C++が使えるなら、C/C++でランチャーを作り、VBアプリを同期実行して、
終了コードをプロセス間通信(DDE,Window Message、ファイルなど)で取得して
それをint main()の戻り値として返す、という手もあります。