電子書籍の厳選無料作品が豊富!

お願いします.

現在,メーカーの計測器についているライブラリ(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の内部エラー"の値でした.

A 回答 (1件)

そのライブラリの提供元に聞くのが早いと思いますが …



多分 CmdSizeの型が ULongではなく shortでいいのだと思います
    • good
    • 0
この回答へのお礼

ありがとうございます.

ご指摘の通り,型を変更してみたら警告は出ましたが,何とか実行でき戻り値も得ることができました.
ライブラリの提供元とも連絡を取り,進めていきたいと思います.

今後,また何かあればよろしくお願いします.

お礼日時:2013/10/28 14:21

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