したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | メール | |

デリゲートについて(VB2005)

2igoten:2009/04/22(水) 09:51:49
こんにちは、
デリゲートがわからないと言う質問が圧倒的に多いですね。
長くなりますので分けて書きます。

まず基本的に次のことを抑えておきましょう。
マルチスレッドの場合(RS-232Cの受信はマルチスレッド
で行われます。)はメインスレッドのTextBoxにセカンドスレッド
から書き込めません、なぜならその様なルールにしてあるからです。
ではメインスレッドのサブルーチン(メソド)を呼び出すことは出来るのでしょうか?
もしこれが出来れば、そのサブルーチンの中にTextBoxに書き込む動作を
埋め込んでおけば良いと言うことになります。
答えは条件付きでYesです。
条件は2つあります1つはサブルーチンをアドレスで呼び出すこと、
2つ目はサブルーチンをセカンドスレッドではなくてメインスレッドから
呼び出すことです。
サブルーチンをアドレスで呼び出す方法がデリゲートです。

'メインスレッドに書き込むデリゲート
Delegate Sub dlgAddText(ByVal str As String)

これは引数に1つのStringを取って、アドレスでサブルーチンを
呼び出しますよと言う宣言です。
このように宣言すると戻り値がなくStringの引数を一つとるサブルーチン
なら何でも呼び出すことが出来ます。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板