アプリ版:「スタンプのみでお礼する」機能のリリースについて

以下のソースをVB.NETに変換したいのですが...
XOpenDLL関数の
AddressOfのあたりがエラーになって変換できません。
(Microsoft Visual Basic .NET 2003の変換機能)

Private Declare Function XOpenDLL Lib _
"Maser.dll" _
Alias "OpenDLL" _
(ByVal nModel As Long, _
ByVal nLens As Long, _
ByVal nLensMfr As Long, _
ByVal nGSpeed As Long, _
ByVal nSocketPort As Long, _
ByVal nRS232Port As Long, _
ByVal pCallbackFn As Long) _
As Boolean

Private Declare Function XSendCommand Lib _
"Maser.dll" _
Alias "SendCommandVB" _
(ByVal OpCode As Long, _
ByVal PropCode As Long, _
ByVal InputString As String, _
ByRef Output As String) _
As Integer

Private Declare Sub XCloseDLL Lib _
"Maser.dll" _
Alias "CloseDLL" ()
Then to use these functions:

‘ Open the DLL
bInstance = XOpenDLL(nModel, nLens, nLensMfr, nGSpeed, nSocketPort, nRS232Port, AddressOf
MyCallbackFn)

‘ Send a command
nRet = XSendCommand(nOpCode, nPropCode, szInputData, szOutput)

‘ Close the interface
Call XCloseDLL

お教えください。

A 回答 (1件)

AddressOf自体は、VB.NETでも使用できます。


Declareで
>pCallbackFn As Long
になってますけど、これを関数として定義してやらないといけません。
コールバック関数の中身がわからないので、そのままというわけにはいかないですが、
Public Delegate Function CallBackProc( 引数並び) As 返値型
の様にコールバック関数を定義してやって
>pCallbackFn As Long

pCallbackFn As CallBackProc
の様に指定してやります
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!