お願いします.
現在,メーカーの計測器についているライブラリ(dll)を利用して,測定ソフトを試作しようとしています.
仕様書ではライブラリはC言語で書いてあるようですが,自分はVB.NETでソフトを作ろうと思っています.
しかし,うまく関数を使うことができず,現在停滞ています(><;
以下にソースを示しますので,どなたか問題点をご指摘いただけないでしょうか?
>>ライブラリ(仕様書)
int send_cmd( WORD CmdSize, void *CmdPacket )
//WORD:符号なし64ビット
//CmdSize:送信パケットサイズ(Byte)
//CmdPacket:送信パケット
>>VB.NET(自作)
Public Declare Function send_cmd lib "test.dll" (ByVal CmdSize as ULong, ByRef CmdPacket as Byte() ) as integer
Dim Test_Packet(a) as Byte
res = send_cmd(Test_Packet.length, Test_packet)
//Test_Packet : 送信用パケットのダンプ
***結果
res の値が仕様書の"dllの内部エラー"の値でした.
お礼
ありがとうございます. ご指摘の通り,型を変更してみたら警告は出ましたが,何とか実行でき戻り値も得ることができました. ライブラリの提供元とも連絡を取り,進めていきたいと思います. 今後,また何かあればよろしくお願いします.