DOBON.NET DOBON.NETプログラミング掲示板過去ログ

コールバック関数よびだしについて

環境/言語:[xp]
分類:[.NET]

VB6だと以下のコードで動いたのですが、VB.NETだと
AddressOf EnumChildProc部分でエラーが出てしまいます。
EnumChildProcプロシージャーのポインタをどのように渡せばいいのでしょうか?
型はVB.NETにあったように変えているつもりなのですが。

’-----ユーザフォーム-----------
Private Declare Function EnumChildWindows Lib "USER32" (ByVal hWndParent As IntPtr, ByVal lpEnumFunc As IntPtr, ByVal lParam As Integer) As Integer

Public Function EnumChildProc(ByVal hWnd As IntPtr) As Integer

MsgBox(hWnd.ToString)

EnumChildProc = 1

End Function

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click


                  
EnumChildWindows(Me.Handle, AddressOf EnumChildProc←この部分, 0)


End Sub
VB.NETでプロシージャのアドレスを取得する方法。
http://dobon.net/vb/bbs/log3-8/4379.html

にもある通り、デリゲートを用います。以下の周りも一読しておくと良いかも知れません。

Callback のサンプル
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpconcallbacksample.asp

DOBON.NET | プログラミング道 | プログラミング掲示板