ユーザーコントロールのコールバック関数を宣言するには?


ペン  2009-10-18 21:56:16  No: 102024

VS2008、VB.NET
メインのフォームにポートチェックの関数をおいて、この関数をユーザーコントロールの
ctlLabelStatusのCallbackSetでセットしたい。しかし、デイリゲートをクラスの外に宣言
してコールバック関数を作ると、エラーになる。
  こういう場合、少なくともメインとユーザーコントロールで共通に使うのでグローバルに
なるとおもいますが、どこに宣言したらいいのでしょうか?  ユーザーコントロールの
ライブラリ(作ったことはない)をつくるとすると、共通に使いたい型宣言はいろいろ
でてくるはずです。メイン側で持たないとだめなのでしょうか?  よろしく。

以下ソースです。
'これはグローバル宣言になる。
Delegate Function delPortCheck(ByVal pt As Byte, ByVal bit As Byte) As Byte

Public Class ctlLabelStatus

    Dim aPortCheck As New delPortCheck(AddressOf dummy)

    Function dummy(ByVal pt As Byte, ByVal bit As Byte) As Byte
        Return 0
    End Function

    Sub CallbackSet(ByVal del As delPortCheck)
        aPortCheck = del
    End Sub


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加