FDTI232RLを使用するUSBデバイスと通信しようとしています。ドライバーをインストールし、.dll呼び出しをVB5コードに統合しましたが、正常に機能します。これをVB.netで機能させたいのですが、PInvokeStackImballanceエラーメッセージが表示されます。VB5では、次のコードシーケンスがあります。
Private Declare Function FT_ListDevices Lib "FTD2XX.DLL" (ByVal arg1 As Long, ByVal arg2 As String, ByVal dwFlags As Long) As Long
...
Dim strSerialNumber As String * 256
...
LoggerList.AddItem ("ListDevices by S/N")
If FT_ListDevices(0, strSerialNumber, FT_LIST_BY_INDEX Or FT_OPEN_BY_SERIAL_NUMBER) <> FT_OK Then
...
VB.NETの場合:
Private Declare Function FT_ListDevices Lib "FTD2XX.DLL" (ByVal arg1 As Long, ByVal arg2 As String, ByVal dwFlags As Long) As Long
...
Dim strSerialNumber As Stringbuilder new = stringbuilder (" ",256)
...
LoggerList.AddItem ("ListDevices by S/N")
If FT_ListDevices(0, strSerialNumber, FT_LIST_BY_INDEX Or FT_OPEN_BY_SERIAL_NUMBER) <> FT_OK Then
...
エラーはifステートメントで発生します。import( "FTD2XX.dll")を使用してDLLをインポートする必要がありますか?私も試しましたがDim strSerialNumber(256) as char
、それもうまくいきません。私は間違った問題に取り組んでいますか?