| ■No75354 (とら さん) に返信 > 今回の問題点を解決するにあたっての方針を以下のようにするつもりです。 C++ 側の実装に自信が無いのなら、元の DLL はそのままにしておいて、 その DLL を呼ぶための中継役として、VB6 で ActiveX DLL を作っておき、 それを VB2008 側で参照設定するという逃げ方とか。(泣)
構造体のままだとマーシャリングに不安がありそうなので、 中継段階でクラスモジュールに詰め替えるとか。
まぁ、これは冗長的過ぎるので、元の DLL を変更して良いのなら、そっちの方が早そう。
> (ただし、当方VC++というかC++系はほとんど触れた事がありません、ポインタ等も概念程度を僅かに知っている程度です) 同じく。
> TEST_API int __stdcall FuncTest(LPSAFEARRAY *Type1, int AryUBound) セーフ配列の受け渡しでトラブっているですから、 LPSAFEARRAY 型のままにしておいたら意味が無いですよ。
> VC++にて構造体配列の先頭データ1つと配列の要素数を受け取るように変更する。 こんな実装かな。
TEST_API int __stdcall Test1(T_Struct*type1, int length) |