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

パスワード:


パスワード紛失

印刷バッチ動作中にESCキーのみ効かせる方法

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています
depth:
0
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 | 投稿日時 2017-8-3 15:01
mayou03  新米   投稿数: 16
いつも有意義に拝見させていただいております。

早速質問です。
Magic xpa3.1aで作成した元帳を印刷するバッチプログラムがあります。
印刷中、強制終了する機能としてESCキー「のみ」効かせたく思っております。
現在、印刷バッチのタスク特性、イベント可:Yesにし、
ESCの終了イベントを処理できるようにしてあります。
しかし、印刷バッチ動作中に印刷ページ数を表示する画面を表示しているのですが、
その画面をクリックすると、行数がいくつか抜けてしまいます。
(100行印刷される場合、クリックすると、間の2〜3行抜けてしまい、97〜98行しか印刷されない)
何とか改善したく思います。
どなたかご教授願います。

現在作成しているプログラムの概要です。
条件設定画面(印刷ボタン)
 Lワークファイル集計バッチ
 L印刷バッチ
印刷バッチ概要
 メインソース:ワークファイル(SQLSever)
 イベント可:Yes
 画面表示:Yes
 画面消去:No



投票数:0 平均点:0.00
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2017-8-3 16:48
ISHIJIMA  長老 居住地: 静岡県  投稿数: 1827
テストしていないのでわかりませんが
バッチイベント間隔ゼロとレコードイベント間隔1の組み合わせて行うとどうなりますか
投票数:0 平均点:0.00
depth:
2
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2017-8-3 18:02
mayou03  新米   投稿数: 16
ISHIJIMAさん
>テストしていないのでわかりませんが
>ッチイベント間隔ゼロとレコードイベント間隔1の組み合わせて行うとどうなりますか

Magic.iniの[MAGIC_ENV]セクションの
BatchPaintTime=1から0に変更し、印刷バッチのレコードイベント間隔を0から1に変更したところ、ページカウント画面が表示されなくなり、ESCキーも効かなくなりました。印刷は全て出力されました。
投票数:0 平均点:0.00
depth:
3
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2017-8-3 18:19
ISHIJIMA  長老 居住地: 静岡県  投稿数: 1827
すみません。
バッチイベント間隔が優先されてしまうのですね・・・
バッチイベント間隔を長くしてレコードイベント間隔を1にするとどうなりますか

イメージとしてはバッチイベント間隔でのイベント取得をさせなければよいのかなと思っています。
投票数:0 平均点:0.00
depth:
4
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2017-8-3 19:24
mayou03  新米   投稿数: 16
ISHIJIMAさん
>バッチイベント間隔を長くしてレコードイベント間隔を1にするとどうなりますか

バッチイベント間隔を1000と5000でにして試しました。
ですが、クリックで印刷レコードが抜ける時がありますね…。

投票数:0 平均点:0.00
depth:
5
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2017-8-3 19:40
ISHIJIMA  長老 居住地: 静岡県  投稿数: 1827
バッチイベント間隔を印刷にかかる時間だとどうなりますか
投票数:0 平均点:0.00
depth:
6
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-8-4 12:49
mayou03  新米   投稿数: 16
ISHIJIMAさん
>バッチイベント間隔を印刷にかかる時間だとどうなりますか

印刷に2分43秒かかったので、バッチイベント間隔を173000に設定したところ、またもやレコードが抜け落ちました…。
投票数:0 平均点:0.00
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 | 投稿日時 2017-8-4 8:40
fjksudou  長老   投稿数: 180
mayou03さん
こんにちは

イベントに下記を追加してみてください。
処理は記述しません。
・ウィンドウヒット
・コントロールヒット

たぶん無効化できるかと思います。
投票数:1 平均点:10.00
depth:
2
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-8-4 9:54
ISHIJIMA  長老 居住地: 静岡県  投稿数: 1827
fjksudouさんの言う方法でできるかもしれませんね
投票数:0 平均点:0.00
depth:
2
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2017-8-4 12:54
mayou03  新米   投稿数: 16
fjksudouさん

>イベントに下記を追加してみてください。
>処理は記述しません。
>・ウィンドウヒット
>・コントロールヒット

できました!ありがとうございます!
印刷バッチは親子の構造になっていて、
最初にテストを行った際、親タスクのみウィンドウヒット、コントロールヒットを止めていただけだったので、レコードが抜けてしまうことがあったのですが、イベントのスコープをサブツリーに変更することで対処できました!
投票数:1 平均点:10.00
depth:
3
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2017-8-4 13:34
ISHIJIMA  長老 居住地: 静岡県  投稿数: 1827
親子の構造であれば子はNOにすればよいのではないでしょうか
バッチイベント間隔は的外れですみませんでした。
投票数:0 平均点:0.00
depth:
4
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2017-8-4 19:32
mayou03  新米   投稿数: 16
ISHIJIMAさん

>親子の構造であれば子はNOにすればよいのではないでしょうか

そうですね。
子でもイベント可がYESというのは、整合性的にも問題がありました…。
子はNO、親のみYESで解決です。

>バッチイベント間隔は的外れですみませんでした。

いえ。バッチイベント間隔についてはすっかり頭から抜けており、
もう一度考え直す良い機会となりました。レコードイベント間隔なんて気にしたこともなかった…。

ちなみに、バッチイベント間隔については、すべてのプログラムに影響するため触ることをためらいました…。
終了イベント2連続発行とかで、処理されないケースがあった気がして…。

たくさんのアイデアをいただきありがとうございました。
投票数:0 平均点:0.00
depth:
5
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-8-4 19:42
ISHIJIMA  長老 居住地: 静岡県  投稿数: 1827
>ちなみに、バッチイベント間隔については、すべてのプログラムに影響するため触ることをためらいました…。

参考までにINIPUTでその都度に変更することもできます。
投票数:0 平均点:0.00
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-8-7 7:59
mayou03  新米   投稿数: 16
ISHIJIMAさん
>参考までにINIPUTでその都度に変更することもできます。

そうでした。一時的に変更できたんでした。
助言ありがとうございます。
投票数:0 平均点:0.00

  条件検索へ


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