投稿日 | : 2004/06/28(Mon) 10:58 |
投稿者 | : もるだー |
Eメール | : |
URL | : |
タイトル | : 事象を再現できるコード |
> 問題点をハッキリする為にも事象を再現できるコードを投稿して下さい。
失礼しました。
簡単に再現できたため、コードなどの説明を省略してしまいました。
サンプルのコードを書いている際に、TextBoxで作成したところ、
再現しませんでした。
コントロールによっては再現しないものもあるようです。
他のサードパーティ製のコントロールでも再現できたので、
リッチテキストボックスだけのバグというわけでもなさそうです。
原因と回避方法がわかれば、教えていただきたいのですが。
以下が事象を再現できるコードです。
1.form1にリッチテキストボックスコントロール(RichTextBox1)を
貼り付けます。
2.form2を追加して、コマンドボタン(Command1)を貼り付けます。
3.form1のソース
----------------------------------------
''クリックイベント実行中フラグ
Private m_blnDuringClickEvent As Boolean
Private Sub Form_Load()
''クリックイベント実行中フラグ初期化
m_blnDuringClickEvent = False
End Sub
Private Sub RichTextBox1_Click()
Dim form2 As form2
''クリックイベント実行中の場合
If m_blnDuringClickEvent = True Then
'多重起動防止のためクリックイベント実行中は処理終了
Exit Sub
End If
''クリックイベント実行中フラグセット
m_blnDuringClickEvent = True
''フォーム生成
Set form2 = New form2
''フォーム表示(モーダル)
Call form2.Show(vbModal)
''フォーム破棄
Set form2 = Nothing
''クリックイベント実行中フラグ初期化
m_blnDuringClickEvent = False
End Sub
----------------------------------------
4.form2のソース
----------------------------------------
Private Sub Command1_Click()
Call Unload(Me)
End Sub
----------------------------------------