HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2011
1031
taro実行ファイルの終了について4解決


taro

リンク

2011/10/31(Mon) 14:44:22|NO.42758

execで外部ファイルを実行した際に、exeファイルの実行が終わったことを確認する方法はありますでしょうか?
時間が一定ではないので、wait等ではうまくいきません。

もしくは、exeファイルにしないでスクリプトエディタの段階の別ファイルを別のスクリプトエディタから実行する方法(命令)は有りますでしょうか?

よろしくお願い致します。



この記事に返信する


ひじき

リンク

2011/10/31(Mon) 16:22:23|NO.42761

私は使ったことがありませんが、
pipeexec と pipeget で外部の実行ファイルが終了しているかどうか
監視することができたはずです。

試しに組んでみました。

こちらからダウンロードできます。
ソースコードも一応同梱しておきました。
http://www1.axfc.net/uploader/Sc/so/288315.zip&key=hsp


; [実行ファイルA] ------------------------------------------ #packopt name "exe_a" ;pipeexec/pipegetが定義されているファイルです。必ずインクルード。 #include "hspext.as" ;pipeexec用に大きめのバッファを確保する必要がある?(詳しくはリファレンス参照) sdim buf,32000 screen 0,320,240 button "実行する",*実行開始 stop *実行開始 ;既に実行中であれば何もしない if zikkou_flag = 1 { mes "既に実行中です。終了までお待ち下さい。" } else { zikkou_flag = 1 pipeexec buf,"exe_b.exe",1 mes "exe_b.exe を実行しました。" } goto *終了待ち *終了待ち ; 終了まで待つ repeat pipeget buf if stat = 0 { zikkou_flag = 0 mes "終了されました。" break } wait 1 loop stop ; [実行ファイルB] ------------------------------------------ #packopt name "exe_b" randomize screen 0,320,240 r=150+rnd(400) repeat r cls mes "終了までの時間が乱数により決められます" mes "終了まであと " + r + " 回" r-- wait 1 loop end

と、ここまでやってから気づいたのですが、
pipegetのヘルプに素晴らしいサンプルがありました・・・;
そちらを見て頂いた方が分かりやすいかもしれませんが、
私のサンプルも一応開示しておきます。



taro

リンク

2011/10/31(Mon) 17:14:09|NO.42763

ありがとうございます。
僕にとってはかなり難解ですが、少し光が見えてきました。
いろいろいじくって自分のものにします(^^)



ひじき

リンク

2011/10/31(Mon) 17:40:57|NO.42764

言い忘れましたが、配布などする際は
hspのフォルダにあるhspext.dllを同梱しないと動かないので注意して下さい。



taro

リンク

2011/10/31(Mon) 20:53:38|NO.42765

了解しました!



ONION software Copyright 1997-2023(c) All rights reserved.