掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
VBプロジェクトから外部DLLにユーザー定義型変数を渡すには (ID:89842)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
たとえば、Microsoft ActiveX Data Objects を参照設定すると、 Dim RS As ADODB.Recordset のように、「Recordsetクラス」を利用出来ます。 また、DirectX 8 for Visual Basic Type Library を参照設定すれば、 Dim X As DIKEYBOARDSTATE という、「DIKEYBOARDSTATE構造体」の利用が可能です。 自作のActiveX DLLも同じ事です。 DLL側で適切な記述がなされており、そして、その型情報が タイプライブラリとしてレジストリに登録されてさえいれば、 それを参照設定する事で、DLLで公開されたクラスやユーザー定義型を 他のプロジェクトから利用する事ができるわけです。 もし、参照設定せずにレイトバインドで使いたいのであれば、 DLL側の適当なクラスに、myStock型を戻り値として返すメソッドを 用意しておけばOKです(VB6の場合)。そして呼び出し側からは、 Dim foo As Variant Dim bar As Object Set bar = CreateObject("プロジェクト名.クラス名") foo = bar.test() '←Public Function test() AS myStock のようにしてやれば、myStockユーザー定義型がVariant型に 格納されますので、その後で、 foo.Volume = 1.3 Debug.Print foo.High のようにして、参照設定無しで myStock型を利用できるかと思います。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.