Escapeキーを押した場合と、実行イベント=終了としたプッシュボタンクリック時の動作の違いについて
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
tsukuisora
投稿数: 31
![半人前 半人前](../../uploads/rank3dbf8e94a6f72.gif)
V8からマイグレーションしたアプリで、特定のプログラム終了時の動きに困っています。
具体的には、Escapeキーを押して終了した場合と、実行イベント=終了としたプッシュボタンを押した場合で動きが異なります。
問題のプログラムはバッチプログラムで、他のオンラインプログラムからCallされています。
この状態で、
・プッシュボタンを押した場合
当該バッチプログラムだけが終了します。
・Escapeキーを押した場合
Call元のプログラムも終了してしまいます。
Escapeキーを押した場合も、Call元のプログラムが終了しないようにしたいのですが、方法がわからずにおります。
なお、プッシュボタンを押した場合もEscapeキーを押した場合も、Call元では同様に終了イベントが発生しています。
(終了イベントのハンドラを作成して確認しました)
どなたか、よろしければアドバイスいただけないでしょうか。
具体的には、Escapeキーを押して終了した場合と、実行イベント=終了としたプッシュボタンを押した場合で動きが異なります。
問題のプログラムはバッチプログラムで、他のオンラインプログラムからCallされています。
この状態で、
・プッシュボタンを押した場合
当該バッチプログラムだけが終了します。
・Escapeキーを押した場合
Call元のプログラムも終了してしまいます。
Escapeキーを押した場合も、Call元のプログラムが終了しないようにしたいのですが、方法がわからずにおります。
なお、プッシュボタンを押した場合もEscapeキーを押した場合も、Call元では同様に終了イベントが発生しています。
(終了イベントのハンドラを作成して確認しました)
どなたか、よろしければアドバイスいただけないでしょうか。
投票数:0
平均点:0.00
ISHIJIMA
居住地: 静岡県
投稿数: 1827
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
CALL元画面にボタンを作成してボタンを押すとバッチを呼ぶ
バッチは終了NOにしてレコード後処理にDELAYを入れて画面に終了のボタンを配置します。
この状態でESCでもボタンでも同じ動きになります。
簡単なプログラムで確認してはいかがでしょうか
バッチは終了NOにしてレコード後処理にDELAYを入れて画面に終了のボタンを配置します。
この状態でESCでもボタンでも同じ動きになります。
簡単なプログラムで確認してはいかがでしょうか
投票数:0
平均点:0.00
tsukuisora
投稿数: 31
![半人前 半人前](../../uploads/rank3dbf8e94a6f72.gif)
ありがとうございます。
明朝試してみます。
明朝試してみます。
投票数:0
平均点:0.00
tsukuisora
投稿数: 31
![半人前 半人前](../../uploads/rank3dbf8e94a6f72.gif)
提案いただいた方法ですと、バッチタスクを終了することができなくなってしまいました。
投票数:0
平均点:0.00
ISHIJIMA
居住地: 静岡県
投稿数: 1827
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
バッチタクスが単体で終了できないという事ですか?
投票数:0
平均点:0.00
tsukuisora
投稿数: 31
![半人前 半人前](../../uploads/rank3dbf8e94a6f72.gif)
みなさま、ありがとうございました。
解決いたしましたので、報告させていただきます。
原因
V8→uniPaaSV1Plusでイベントの動きが変わり、Escapeキーを押された場合のイベントがコール元に伝播してしまう。
対策
コール先のバッチプログラムで、Escapeイベントをハンドルし、その中で終了イベントを発行する。
解決いたしましたので、報告させていただきます。
原因
V8→uniPaaSV1Plusでイベントの動きが変わり、Escapeキーを押された場合のイベントがコール元に伝播してしまう。
対策
コール先のバッチプログラムで、Escapeイベントをハンドルし、その中で終了イベントを発行する。
投票数:0
平均点:0.00
nkmt
投稿数: 1668
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
今回の件は、普通のオンラインタスクから
別PGバッチプログラムを呼び、そこでEscキーを押すと、
それが親に伝播するとありましたが
呼び出し元のタスクで
Escイベントの記述があり、スコープ=サブツリー
になっており、バッチPGでEscを押す事により
親タスクの終了イベント起動という可能性はございますか?
別PGバッチプログラムを呼び、そこでEscキーを押すと、
それが親に伝播するとありましたが
呼び出し元のタスクで
Escイベントの記述があり、スコープ=サブツリー
になっており、バッチPGでEscを押す事により
親タスクの終了イベント起動という可能性はございますか?
投票数:0
平均点:0.00
Tanda
投稿数: 2151
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
nkmtさん、
RIAではサブフォームで定義された親子関係のタスクは、
実行時にクライアントOSのネイティブコードとしてあたかも
1つのタスクのような動作となりますので、子タスクで検知
された終了イベントも親タスクを終了させる動作になりますね。
RIAではサブフォームで定義された親子関係のタスクは、
実行時にクライアントOSのネイティブコードとしてあたかも
1つのタスクのような動作となりますので、子タスクで検知
された終了イベントも親タスクを終了させる動作になりますね。
投票数:1
平均点:10.00
tsukuisora
投稿数: 31
![半人前 半人前](../../uploads/rank3dbf8e94a6f72.gif)
既に解決していますが、補足させて頂きます。
コール先のバッチプログラム
は
コール元のオンラインプログラム
の子タスクではありません。
両方とも、別にプログラムリポジトリに登録されています。
コール先のバッチプログラム
は
コール元のオンラインプログラム
の子タスクではありません。
両方とも、別にプログラムリポジトリに登録されています。
投票数:1
平均点:10.00