暇人おやじの暇なつぶやき
× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
■スレッドから処理を依頼する安全な処理方法
Delegate Sub SetTextCallback(ByVal [text] As String) これは、SetTextCallbackを実行する実体であり、このSetTextCallbackは各スレッドから呼び出す際、安全に実行される この実体はSetTextプロシジャに設定してあり、このSetTextCallbackを指定することで、複数のスレッドがフォームのコンポーネントにアクセスしても、問題なく処理されるものである これはDelphiで言うところの「Synchronize」に値する Private Sub SetText(ByVal [text] As String) If Me.TextBox1.InvokeRequired Then Dim d As New SetTextCallback(AddressOf SetText) Me.Invoke(d, New Object() {[text]}) Else Me.TextBox1.Text += [text] & vbCrLf End If End Sub 実はこの例は「方法 : Windows フォーム コントロールのスレッド セーフな呼び出しを行う」に記載されているのだが、これがまた複雑なうえ、様々なコード例があり、非常に分かり易いのだが、あえてこの部分を抜き出してみた スッキリしたかったのでR PR |
カレンダー
カテゴリー
フリーエリア
最新CM
最新TB
ブログ内検索
|