VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 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
----------------------------------------


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -