• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VB.NETからC++で作成したdllの連携)

VB.NETからC++で作成したdllの連携

このQ&Aのポイント
  • VB2010からC++で作成したdllへ配列を渡す方法について教えてください
  • 単純な数値(int)を渡す場合は動作するサンプルコードがあるが、複雑な配列を渡す場合のサンプルがない
  • いくつかのサンプルを試したが動作しなかった

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

なんか,サンプルを参照する場所を間違えているようにしか思えないのですが……。 MSKBはVB2用だったりVB5用だったりと,古い情報です。 挙げられたサイトの内,Visual Basic 2010対応の物は,atwikiのもののみです。 # 個人的にはIntPtr使ってやるのは面倒すぎると思う……。 で,サンプルですが,ちゃんとMSDNに記述があります。 MSDN: アンマネージ コードとの相互運用 http://msdn.microsoft.com/ja-jp/library/sd10k43k.aspx MSDN: さまざまな型の配列のマーシャリング http://msdn.microsoft.com/ja-jp/library/hk9wyw21.aspx

demioromen
質問者

お礼

>Visual Basic 2010対応の物は,atwikiのもののみです。 回答有難うございます。 そうだったんですね。マーシャリングについても調べたのですが、 どうも理解できないので、他の方法を調べていました。

その他の回答 (2)

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.3

VB2/VB5などVB6以前ですと変数の規格が今の VB.NETなどとは異なるのでそのあたりも考慮しないといけません VB6以前は Integerは16ビット長 Longが32ビット長になります VB.NETでは Integerは32ビット長 Longが64ビット長になります また VC側では intもlongも 32ビット長になっています

demioromen
質問者

お礼

回答ありがとうございます。 とりあえずは配列連携の方は出来たのですが、 ちょうど型対応でへんな値が返って来ます。 参考にさせて頂きます。

  • t-tommy
  • ベストアンサー率14% (8/54)
回答No.1

なぜ、動作しなかったの歩が 疑問じゃね!

関連するQ&A