- PR -

VB.netでのActiveXの値受け渡し

1
投稿者投稿内容
えどまる
会議室デビュー日: 2009/03/24
投稿数: 1
投稿日時: 2009-03-24 08:47
VC++で作成されたActiveXを、VB.net(バージョンは2005)で使おうとしています。
(ちなみに、ActiveXはソースがないために修正ができません。)

引数の型はVariant型で、VB6ではByte型配列で値の受け渡しをしていました。
VB.netでも同様に、Byte型配列で受け渡しを行おうと思っているのですが
結果を見ると、値をうまく受け取れていません。
(ウォッチ式で見ると「Nothing」となってしまいます)

VB.netにはVariant型がないので、そのために値の取得がうまくいかないのか
とも思っているのですが、VB.netでも値の受け渡しができるようになる手段は
ないでしょうか。

以上、ご教示いただければ幸いです。
よろしくお願いいたします。


[ActiveX:VC++で作成]
BOOL GetResult(const VARIANT& Data )


[VB6のソース]
ReDim byData(4096) As Byte

If GetResult(byData) =True Then
  MsgBox("aaa")
Else
  MsgBox("xxx")
End If

※byData(Byte型配列)には、ちゃんと値がセットされて返ってきます。

[VB.netのソース]
Dim byData() As Byte
ReDim byData(4096)

If GetResult(byData) = True Then
  MsgBox("aaa")
Else
  MsgBox("xxx")
End If

※byData(Byte型配列)には、何もセットされていません。
 (ウォッチ式では"Nothing"と表示されます)


[ メッセージ編集済み 編集者: えどまる 編集日時 2009-03-24 08:50 ]

[ メッセージ編集済み 編集者: えどまる 編集日時 2009-03-24 08:55 ]
1

スキルアップ/キャリアアップ(JOB@IT)