Clickイベントと、KeyDownイベントやDblClickイベントの違い

解決


とおる  2011-05-21 17:54:37  No: 102918  IP: [192.*.*.*]

ボタンのClickイベントと、スプレッドのKeyDownイベントやDblClickイベントの違いを教えてください。

フォームが2つあって、フォーム1からフォーム2を呼び出しています。
そのとき、フォーム1をEnabled=Falseにしています。
フォーム2が終了するとき、フォーム1をEnabled=Trueにしています。

フォーム1とフォーム2はスプレッドがあって、フォーム2は検索ダイアログに使っています。
フォーム2にはOKボタンがあります。

OKボタンのClickイベントに、フォーム2のスプレッドからデータを読み取り、フォーム1のスプレッドを検索するコードを書き込んでいます。
(検索は一行一行見ていくようなものです)

フォーム2のスプレッドのEnterキーのKeyDownイベントとDblClickイベントにOKボタンのClickイベントを呼び出す処理を書き込んでいます。
(実際は、CommandButton1.Value=Trueを書き込んでいるだけです)

OKボタンをClickしたときは何とも無く検索ダイアログは終了しますが、スプレッドをEnterキー押したときとDblClickしたとき、ただ単にボタンのClickイベントを呼んでいるだけなんですが、フォーム2が終了したときデバッグして見たんですが強制終了されます。

それは全くトラップできません。

強制終了されたとき、VC++が起動してデバッグ見れるんですが、それが全く分かりません。

VC++を見るとメッセージボックスで、
「ハンドルされていない例外はVB6.EXEにあります:0xC0000005:Access Violation。」
と表示されます。

それで、「0040D405   and         byte ptr [ecx+22h],0FCh」のところに黄色い矢印があります。

何とかKeyDownイベントとDblClickイベントでも強制終了されること無くしたくて、DoEventsを入れたりしたのですが駄目でした。

どなたか対策法知ってられる方いらっしゃいませんでしょうか?

開発環境:VB6(SP6)、Spread3.0J
OS:Win7

困っています。よろしくお願いします。

編集 削除
魔界の仮面弁士  2011-05-23 01:45:37  No: 102919  IP: [192.*.*.*]

> 開発環境:VB6(SP6)、Spread3.0J
> OS:Win7
この組み合わせで使ったことは無いのですが、経験則から:


コントロールの作りによるところではあるのですが、キーボード系や
マウス操作系のイベント内で、MsgBox や DoEvents や SendKeys を使ったり
フォームやコントロールをアンロードしたりすると、誤動作(?)する物が
幾つか報告されていたりします。


できる限りは、そうした処理は行わないようにするのが無難なのですが、
どうしても必要なのであれば、Timer コントロールを併用して、
実際のイベントが発生してから、ワンテンポ遅れて MsgBox を
表示させるようにすると、改善することがあります。試してみてください。

編集 削除
胃が  2011-05-25 02:42:00  No: 102920  IP: [192.*.*.*]

まずはグレープシティのHPで
Spread3.0Jをアップデートしてみては?
Win7対応かどうかは分かりませんが。

http://www.grapecity.com/japan/support/database/activex_productpatches.htm

Spread3.0Jの頃のはこういうの多かった気がします。

編集 削除
とおる  2011-06-03 01:38:02  No: 102921  IP: [192.*.*.*]

アップグレードしたんですが、駄目でした。

残念です。

>Spread3.0Jの頃のはこういうの多かった気がします。
spreadのバージョンが上がっていたら、この問題は解消されてるんでしょうか?
例えば、ver7とかver6とか。。。

編集 削除
Koz  2011-06-05 00:59:21  No: 102922  IP: [192.*.*.*]

Win7 ではなくて、Vista で動かしていたとき、同様の現象にあいました。

同じように、検索ダイアログで、Spread のボタンを押したとき、
ダイアログを Unload するようコーディングしていたのですが、
Spread 6.0 では駄目でしたが、Spread 7.0 だと解消していましたよ。

編集 削除
とおる  2011-06-18 19:22:29  No: 102923  IP: [192.*.*.*]

遅くなりまして申し訳ございません。

Kozさん、ありがとうございます。

購入することはないかも知れませんが、最新版では解消されていることが
わかって安心しました。

ありがとうございました。

編集 削除