00161 99/01/15 05:44 RE:00160 回線異常時の処理について
投稿者 : かずや   コメントを投稿する

>ところで、afterhangupコマンドは入れ子になっていてもよいのでしょうか。
afterhangup文の中にafterhangup文を使うということでしょうか?
connect文で、アクセスできた場合、connect文以降は処理されず
そこで、スクリプトは終了してしまうので、無意味だと思います
間違っていたらゴメンなさい(^-^;

>afterhangup AbortProc
>AbortProc:
> if( existfile( "errorlog.txt" ) )
> connect ”ABC”
> endif
>
>afterhangup AfterClose
> hangup
> AfterClose:
>closehideterm
>
>異常終了しなかった場合、AbortProc:は実行されずに、
>afterhangup以降を処理しています。希望する動きになっているのですが、
>もんだいないのですよね。
分かってると思いますが、確認のため・・・
afterhangup文は、回線を切断したあと実行するスクリプトを宣言します
簡単に言えば、切断後のgoto文に相当します

↑の処理では、afterhangup文で、AbortProcラベルに行くようになっていますね
そして、errorlog.txtがあればアクセス、なければ、そのまま下の処理へ

次の処理ですが、'afterhangup AfterClose'そして、この下が 'hangup'と
なっていますが、ここでは既に切断されていると思いますよ
つまり、errorlog.txtがなければ、次に実行される処理は closehideterm文です

↑の処理をσ(^-^)風に書くと・・・
-------------------->>--------------------
afterhangup AbortProc    ;← afterhangup文はスクリプト開始時に記述
 - - - - - - - - - - - - - - - -
AbortProc:          ;← 切断後に実行される
if(existfile("errorlog.txt")) connect "ABC"
else closehideterm
goto AbortProc        ;← アクセスが失敗したときの処理
--------------------<<--------------------
・・・こんな感じです(^-^*)

公開用ならば、フラグを立ててアクセス回数を制限したり
errorlog.txtを処理したり、いろいろ追加しますが
非公開用なら、そこまでする必要ないと思います(笑)


新規に投稿する