[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2004/10/20(Wed) 18:29
投稿者名:あさ
Eメール:
URL :
タイトル:
ActiveX DLL クラス間のアクセス
同じプロジェクト(DLL)内の別のクラスのPublicメソッドを呼ぶには
自分のクラスで相手のクラスのインスタンスを作らなければならないでしょうか?

両クラスとも「GlobalMultiUse」にしていてもコンパイル時に
「Sub または Function が定義されていません」とエラーが発生します。

投稿時間:2004/10/21(Thu) 03:26
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re: ActiveX DLL クラス間のアクセス
> 両クラスとも「GlobalMultiUse」にしていてもコンパイル時に
> 「Sub または Function が定義されていません」とエラーが発生します。

他方のプロジェクトを、参照設定していますか?

投稿時間:2004/10/21(Thu) 16:31
投稿者名:あさ
Eメール:
URL :
タイトル:
Re^2: ActiveX DLL クラス間のアクセス
> 他方のプロジェクトを、参照設定していますか?

同一プロジェクト内の別々のクラス同士ですので、
「他方のプロジェクト〜」という状況ではないです。

投稿時間:2004/10/21(Thu) 16:40
投稿者名:あさ
Eメール:
URL :
タイトル:
Re: ActiveX DLL クラス間のアクセス
> 同じプロジェクト(DLL)内の別のクラスのPublicメソッドを呼ぶには
> 自分のクラスで相手のクラスのインスタンスを作らなければならないでしょうか?
>
> 両クラスとも「GlobalMultiUse」にしていてもコンパイル時に
> 「Sub または Function が定義されていません」とエラーが発生します。

自己レスです。
関連資料を見つけました。
hhttp://www.microsoft.com/japan/developer/library/VBCon98/vbconglobalobjectscodelibraries.htm

プロジェクト(DLL)内の標準モジュールで

→ Public (使いたいクラス名) As New (使いたいクラス名)

とインスタンスを宣言しておくと同一プロジェクト内のどこでも、

→ (使いたいクラス名).(使いたいプロシージャ名)

で使用できました。