掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
.NETによるVCのDLLへ構造体配列を引き渡す方法について (ID:110272)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
まず、構造体配列の場合、1次元なのですが、文字列情報が含まれて います。よって、ポインタのポインタになります。 C言語の場合の配列を渡す場合、ポインタのポインタになるのと同様 です。また、配列ですから、文字情報が無くてもポインタのポインタ になるはずです。 よって、文字情報が入っているので、ポインタのポインタの先に、 文字情報(固定ではない可変長文字列)が格納されているポインタが あることになり、よって、文字領域ごとにコピーしてやらないと、 解決できないような格好になっています。 テスト的に文字情報を数値型の変数に変更すれば、いきなり動作して しまいます。簡単にするならば、文字情報が入った構造体を全て1度 で渡さずに、構造体の要素1つづつを渡せば、現状でも動作している ので、よいのではないでしょうか・・・ BSTRを含む構造体配列を渡す方法は、ActiveXの折に私もやっていま したが、.NETになってからは、まだやっていません。 解決策は、魔界の仮面弁士の言われるとおり、 StructLayoutAttribute属性クラス MarshalAsAttribute属性クラス この部分を読破して理解しなければならないと思います。 参考になりませんが・・・ 以上。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.