投稿日 | : 2006/12/21(Thu) 15:43 |
投稿者 | : 茄子茄子 |
Eメール | : |
URL | : |
タイトル | : [[解決]]VB6.0でのバイナリデータの渡し方について |
はじめまして、首記の件について皆様のお知恵を借りたく投稿致します。
実装したい処理:
VC#.NETで作成したCOMインターフェイスのメソッド呼び出し
(メソッドの引数としてバイト配列を取る)
発生事象:
「コンパイルエラー
関数またはインターフェイスが予約されているか、またはVisual Basicでサポートされていない
オートメーションタイプが関数で使用されています。」と表示され、下記☆部分のメソッドが反転
表示されます。
質問1:
VB6.0で他コンポーネント呼び出しを行う際にバイト配列を指定することは可能かどうか?
質問2:
上記エラーのVisulaBasicでサポートされていないートメーションタイプが関数で使用されています。
↑
はTLBの参照登録がうまく行っていないということでしょうか?
該当COMのTLBファイル生成、RegAsm、プロジェクトへの参照の追加時はこれといって
エラーメッセージみたいなものも出ず、正常に参照が追加されたと思っていたのですが、、、
Private Sub Command41_Click()
Dim HogeIF As HogeHogeDLL.IHogehoge //COMのオブジェクト変数宣言
Set HogeIF = New HogeHogeDLL.Hogehoge
Dim ByteArr() As Byte
ReDim ByteArr(15) As Byte
For i = 0 To 15
ByteArr(i) = i //0〜15の代入
Next
Call HogeIF.HogeMethod(ByteArr) // バイト配列を引数とするメソッド・・・☆
HogeIF = Nothing