過去の桐井戸端BBS (桐ver.8) |
4226 | 一括処理でハンドルエラーが発生します | 桐 太郎 | 2000/1/20-19:00 |
桐v8SP3をにて一括処理を行っています。時々(不定期)にハンドルエラーが 発生して止まってしまいます。SP2の時より発生する確率は低くなったと思いま すが、理由がわからず困っています。対処方法わかる方は、是非教えてください。 よろしくお願いします。 | |||
4243 | ハンドルエラーはどの様なケースで発生しますか | 佐田 守弘 | 2000/1/21-00:50 |
記事番号4226へのコメント 桐 太郎さん 私はこのエラーに出会った事がないのですが、どの様なケースでどの様な事をさせた 時に発生するでしょうか。このあたりをもう少し詳しく伝えて頂けますか。 佐田守弘(KS-00119) | |||
4252 | こんな時に発生する? | 桐 太郎 | 2000/1/21-11:09 |
記事番号4243へのコメント 佐田 守弘さんは No.4243「ハンドルエラーはどの様なケースで発生しますか」で書きまし た。 >桐 太郎さん > >私はこのエラーに出会った事がないのですが、どの様なケースでどの様な事をさせた >時に発生するでしょうか。このあたりをもう少し詳しく伝えて頂けますか。 > >佐田守弘(KS-00119) 詳しく書かなくて申し訳ありません。 以下のように多重化してオープンした時に出る傾向にあるようです。(いつも出る訳では ありません 忘れた頃にハンドルエラーが出ます。) このハンドルエラーが出ると、桐の制御がきかなくなり、桐を終了させても1回か2回 このメッセージが 現れます。 ちなにみ、桐V8-SP2以降にした場合は出る回数がかなり減ったと思います。 ======================================== 表 使用フォーム "MAST" ウィンドウ作成 "MAST",位置=(1,1 ),ハンドル=&OPEN1 繰り返し (&ボタン<>”終了”) ウィンドウ会話 &OPEN1 ,更新=許可,許可作業=行訂正,ボタン=&ボタン ケース開始 ケース (&ボタン="新規追加") 手続き実行 新規追加 ケース終了 繰り返し終了 表 終了 桐 名札 新規追加 多重化 使用フォーム="MAST-ADD",表番号=10 行追加 フォーム,終了キー=&確認,ボタン=&ボタン,終了状態=&確認2 終了 表 10 編集表 1 手続き終了 ========================================= === | |||
4263 | Re:こんな時に発生する? | 佐田 守弘 | 2000/1/21-23:55 |
記事番号4252へのコメント 桐 太郎さん 書かれた一括処理からおよその事が理解できました。 ●時々起きるエラー もしこのエラーが報告されている通り、いつも起きるのではなく、時々起きるエラーだとした らやっかいですね。もしそれがシステムの内部的な原因によるとしたら、ユーザーサイドでは お手上げです。 ですが、一括処理を拝見して、何やら処理のさせ方その他で気になる点がいくつか見つかりま した。外しているかも知れませんが、以下の点をチェックしてみて下さい。 ●プログラム全体の構造について お書きになった一括処理は、桐ver.7方式の一括処理からフォームを呼び出す方式ですね。 桐ver.8では考え方を全く変えてしまい、フォームから全てを起動する方式が好ましいと考え ます。 つまり、MAST.wfmを開きます。そして、このフォームには、イベントファイル(仮にMAST.kev とします)を割り当てておきます。 また、「新規追加」のコマンドボタンを作っておき、このボタンに機能名「手続き実行」機能 パラメータ「新規追加」を割り当てておきます。 そして、イベントファイルには、以下の手続きを定義しておきます。 手続き定義開始 新規追加() 多重化 フォーム呼出し MAST-ADD,編集表=する 行追加 手続き定義終了 ここで、MAST-ADD.wfmには「終了」ボタンを作っておき、このボタンを押したらフォームが終 了する様にしておきます。 ●表番号 表番号を明に指定していますが、内部的に開いている表番号とバッティングして、エラーを 起こしているのではないかと言う気がします。表番号を指定せず、桐に勝手にしていさせる方 法を試してみて下さい。 ●多重化しなくても良いのでは 表を多重化してオープンする必要があるかどうかも検討してみて下さい。 1つ目に、レコードを追加するために同じ表に対して別のフォームを開くために多重化してい るわけですが、フォームを切り換える必要があるかどうかです。 フォームの形にも寄りますが、同じフォームで行追加ができないでしょうか。 2つ目に、もしフォームを切り換える必要がある場合についてです。書かれた方法では、一括 処理からフォームウィンドウを作成しているわけですから、一括処理に戻った段階でこのウィ ンドウは閉じられています。つまり、使用フォームを切り換えて、そのフォームのウィンドウ を作成すれば良いわけで、表を多重化する必要はないと思うのですが。 佐田守弘(KS-00119) |