C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 104 を表示中)
■62405 / )  Re[2]: C#からVBで作成したDLLへの構造体渡し
□投稿者/ 魔界の仮面弁士 (2385回)-(2011/10/07(Fri) 13:51:48)
No62392 (魔界の仮面弁士) に追記
>>objVBDll.xxxx(DTTbl);
> ByVal 引数ではなく ByRef 引数なので、
> objVBDll.xxxx(ref DTTbl);
> にしてみては如何でしょう。

テストコードを書いて試してみたところ、うちの環境では
xxxx メソッドの引数は「ref Array dData」になっていました。

タイプライブラリ/相互運用機能アセンブリを自作した場合は、
別の定義になるかもしれませんが、少なくとも上記の場合は
 Array a = DTTbl;
objVBDll.xxxx(ref a);
で呼べました。VB 側で引数オブジェクトの差し替えがある場合は
a を VBDLL.Type_Data[] に再キャストした方が良いかもしれません。


>>> ((System.ComponentModel.ISupportInitialize)(objVBDll)).BeginInit();
確認ですが、VB 側に ISupportInitialize を Implements させてあるのでしょうか?
返信 編集キー/


管理者用

- Child Tree -