コールバック関数 再び
またまた、お世話になります。前回、御回答頂き動作するようにはなったのですが、コールバックに入力があった時に、アプリケーションが終了してしまう現象がおきています。御教授お願いします。
C++で作られたDLLを利用。
装置との通信を行なう物で初期設定用と通信開始用の
関数があり、コールバック関数で、装置からの送信もある。このDLLを使った、他のアプリで動作確認は取れているのでDLL自体には問題ないと思われる。
関数説明
【初期設定用】
initial(DWORD ip,LPNOTIFICATIONFUNC notificationFunc);
ip=相手先のipアドレス
notificationFunc=コールバック関数へのポインタ
コールバック関数
WINAPI *PNOTIFICATIONFUNC(
DWORD id,
BYTE bySet1,
BYTE bySet2,
BYTE *data,
DWORD datasize);
以上の説明があり、現在下記のように宣言して使っています。
【初期設定用】
Declare Function MT_INITIALIZE Lib "TEST.dll" Alias "Initial" _
(ByVal ip As Integer, ByVal notificationFunc As CallBack) As Boolean
Public Delegate Sub CallBack( _
ByVal id As Integer, _
ByVal byset1 As Byte, _
ByVal byset2 As Byte, _
ByVal data As IntPtr, _
ByVal dataSize As Integer)
【コールバック関数】
Public Shared Sub notificationFunc( _
ByVal id As Integer, _
ByVal byset1 As Byte, _
ByVal byset2 As Byte, _
ByVal data As IntPtr, _
ByVal dataSize As Integer )
//データのバッファ処理
End Sub
お礼
大変参考になります。 ありがとうございました。