ようこそゲストさん | ログイン |

掲示板

トップページ > 過去ログ > 記事閲覧
Areaイベントでのエラー発生
日時: 2008/04/08 14:49
名前: GEOSISサポート受付

【Areaイベントの引数Sclのエラー発生原因について】
アクセスでシステムを作ったのですが、2つのパソコンで同じシステムを動作させると、1つのパソコンのみエラーになってしまいました。
1つ目のパソコンスペック(正常に動作)
OS:WinXP Pro
CPU:Pentium4 1.5MHz
メモリ:1GB

2つ目のパソコンスペック(エラーが発生)
OS:WinXP Pro
CPU:Core 2 CPU 2.66GHz
メモリ:2GB

※症状
Areaイベントでオーバーフローしました。

確認の結果、以下のような事が発生しました。
Areaイベントにブレイクポイントを付けて引数Sclの値を確認すると「オーバーフローしました。」と表示され、少し時間(数秒間)をおいてからもう一度確認すると正常に数値が表示されます。
(この間、イベントは進めていません)
その後、処理を継続(再開)すると正常に動作しました。
このようなエラーが発生するのは、処理速度の違いによるものが
原因になるのでしょうか?

Page: 1 |

Re: Areaイベントでのエラー発生 ( No.1 )
日時: 2008/04/08 14:50
名前: NCG

環境について何点か確認させてください。

1)各PCのOS(WindwsXP)のサービスパック
2)各PCのAccessのバージョン(サービスリリースのバージョンも含む)
3)各PCで動作させているシステムの環境は同一でしょうか。(ベクターなどのデータも同じかどうか)
4)オバーフローはどのタイミングで発生するのでしょうか?

例)アクセスのイミディエイトウインドウで変数「Scl」を参照時にAccessのオバーフローメッセージが表示される。
例)Areaイベントに設定したブレークポイントで処理が止まる時にAccessのオバーフローメッセージが表示される。
Re: Areaイベントでのエラー発生 ( No.2 )
日時: 2008/04/08 14:51
名前: GEOSISサポート受付

○:正常に動作するパソコン
×:エラーが発生するパソコン

1)○:Service Pack 2  ×:Service Pack 2
2)2003 SP2  ×:2003 SP2
3)同一です。
4)Areaイベントに設定したブレークポイントで処理が止まる時にマウスカーソルをSclにあわせると表示されます。

自分なりに調べてみたのですが、エラーが発生するパソコンでもAreaイベントが正常に動作することがほとんどで、エラー発生(オーバーフロー)する時は決まった動作をする時でした。

エラー発生時の処理手順は以下の通りです。
1.属性データの検索結果より図形の強調表示を行う。
強調表示用の図形を作成し特定のレイヤを表示する。
2.強調表示の解除をする
特定のレイヤを非表示にする。
再描画(DSPREFRESH)
前表示領域の表示(DSPUNDO)

DSPUNDOの処理の時にエラーが発生しました。
また、DSPUNDOの処理をなくすとエラーは出なくなりました。

それから、基本的には同じ処理をしているのですが、土地属性から筆図形の表示を行った後、強調表示の解除をしてもエラーは発生せず、道路属性から路線図形の表示を行った後、強調表示を解除するとエラーが発生しました。
Re: Areaイベントでのエラー発生 ( No.3 )
日時: 2008/04/08 14:52
名前: NCG

コマンド「DSPUNDO」の処理を行わないとエラーが発生しないとのことですので、コマンド「DSPREFRESH」の処理が終了する前に次のコマンド(DSPUNDO)が動作している可能性があります。
DSPREFRESHのあとにDoEvents(又はProcWait)を実行して、現象が改善されるかご確認ください。

Page: 1 |



| 利用規約 |

(C) 2024 AS Locus INC.