ホーム   フォーラム   FAQ
 
メインメニュー
ログイン
ユーザー名:

パスワード:


パスワード紛失

Escapeキーを押した場合と、実行イベント=終了としたプッシュボタンクリック時の動作の違いについて

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 .4 .5 | 投稿日時 2016-9-30 18:30
tsukuisora  半人前   投稿数: 31
V8からマイグレーションしたアプリで、特定のプログラム終了時の動きに困っています。

具体的には、Escapeキーを押して終了した場合と、実行イベント=終了としたプッシュボタンを押した場合で動きが異なります。

問題のプログラムはバッチプログラムで、他のオンラインプログラムからCallされています。

この状態で、

・プッシュボタンを押した場合
 当該バッチプログラムだけが終了します。

・Escapeキーを押した場合
 Call元のプログラムも終了してしまいます。

Escapeキーを押した場合も、Call元のプログラムが終了しないようにしたいのですが、方法がわからずにおります。

なお、プッシュボタンを押した場合もEscapeキーを押した場合も、Call元では同様に終了イベントが発生しています。
(終了イベントのハンドラを作成して確認しました)

どなたか、よろしければアドバイスいただけないでしょうか。

投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2016-10-1 18:46
ISHIJIMA  長老 居住地: 静岡県  投稿数: 1827
CALL元画面にボタンを作成してボタンを押すとバッチを呼ぶ
バッチは終了NOにしてレコード後処理にDELAYを入れて画面に終了のボタンを配置します。
この状態でESCでもボタンでも同じ動きになります。
簡単なプログラムで確認してはいかがでしょうか

投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2016-10-2 19:22
tsukuisora  半人前   投稿数: 31
ありがとうございます。
明朝試してみます。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2016-10-3 9:57
tsukuisora  半人前   投稿数: 31
提案いただいた方法ですと、バッチタスクを終了することができなくなってしまいました。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2016-10-3 10:53
ISHIJIMA  長老 居住地: 静岡県  投稿数: 1827
バッチタクスが単体で終了できないという事ですか?
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2016-10-4 10:45
tsukuisora  半人前   投稿数: 31
みなさま、ありがとうございました。
解決いたしましたので、報告させていただきます。

原因
V8→uniPaaSV1Plusでイベントの動きが変わり、Escapeキーを押された場合のイベントがコール元に伝播してしまう。

対策
コール先のバッチプログラムで、Escapeイベントをハンドルし、その中で終了イベントを発行する。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2016-10-4 11:03 | 最終変更
nkmt  長老   投稿数: 1668
今回の件は、普通のオンラインタスクから
別PGバッチプログラムを呼び、そこでEscキーを押すと、
それが親に伝播するとありましたが

呼び出し元のタスクで
 Escイベントの記述があり、スコープ=サブツリー
になっており、バッチPGでEscを押す事により
親タスクの終了イベント起動という可能性はございますか?


投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2016-10-4 19:11
Tanda  長老   投稿数: 2151
nkmtさん、

RIAではサブフォームで定義された親子関係のタスクは、
実行時にクライアントOSのネイティブコードとしてあたかも
1つのタスクのような動作となりますので、子タスクで検知
された終了イベントも親タスクを終了させる動作になりますね。
投票数:1 平均点:10.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2016-10-5 9:35
tsukuisora  半人前   投稿数: 31
既に解決していますが、補足させて頂きます。

コール先のバッチプログラム

コール元のオンラインプログラム
の子タスクではありません。

両方とも、別にプログラムリポジトリに登録されています。

投票数:1 平均点:10.00

  条件検索へ


Copyright (C) Magic Software Japan K.K. All Rights Reserved.
個人情報保護方針 会員規約