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