プロが教えるわが家の防犯対策術!

プログラム初心者です。
VB2010からC++で作成したdllへ配列を渡したいのですが、
動作するサンプルがありましたら教えてください。

単純な数値(int)であれば下記のページのサンプルコードをダウンロードして
動作可能でした。
http://www.geocities.jp/i_love_balard/myhome/vbd …

しかし、以下のサンプルを作成したのですが、動作しませんでした。
http://www7.atwiki.jp/hisam/pages/51.html
http://support.microsoft.com/kb/402577/ja
http://support.microsoft.com/kb/410837/ja

よろしくお願い致します。

A 回答 (3件)

なんか,サンプルを参照する場所を間違えているようにしか思えないのですが……。


MSKBはVB2用だったりVB5用だったりと,古い情報です。
挙げられたサイトの内,Visual Basic 2010対応の物は,atwikiのもののみです。
# 個人的にはIntPtr使ってやるのは面倒すぎると思う……。


で,サンプルですが,ちゃんとMSDNに記述があります。

MSDN: アンマネージ コードとの相互運用
http://msdn.microsoft.com/ja-jp/library/sd10k43k …
MSDN: さまざまな型の配列のマーシャリング
http://msdn.microsoft.com/ja-jp/library/hk9wyw21 …
    • good
    • 0
この回答へのお礼

>Visual Basic 2010対応の物は,atwikiのもののみです。

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

お礼日時:2011/01/06 00:58

VB2/VB5などVB6以前ですと変数の規格が今の VB.NETなどとは異なるのでそのあたりも考慮しないといけません



VB6以前は Integerは16ビット長 Longが32ビット長になります
VB.NETでは Integerは32ビット長 Longが64ビット長になります

また VC側では intもlongも 32ビット長になっています
    • good
    • 0
この回答へのお礼

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

お礼日時:2011/01/06 19:39

なぜ、動作しなかったの歩が


疑問じゃね!
    • good
    • 0

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