0

私は VBA アプリケーションを作成しており、特定の関数については、アプリケーションのほとんどのユーザーが参照をインストールしていない (そしてこの特定の関数を使用しない) ため、遅延バインディングのみを使用しています。

私が使用しているオブジェクトは次のように動作します。

class PISDK{
    PIServer GetServer(string hostName)
}

GetServerメソッドはオブジェクトを返しますが、以下PIServerを実装するより具体的なインターフェイスが存在しますPIServer

interface IGetPoints2 : PIServer{}

PIServerオブジェクトをオブジェクトにダウンキャストしたいと思いIGetPoints2ます。

何もせずに、PIServer オブジェクトを取得します。

Dim PiSdk As Object
Dim PiServer As Object

Set PiSdk = CreateObject("PISDK.PISDK")
Set PiServer = PiSdk.GetServer("foo")

デバッガーで見るとPiServer、それが確認されます。

厳密に型指定された変数を使用するとうまくいくはずですが、ここで使用されている型はどれも参照したくありません。

遅延バインディングのみを使用してこのオブジェクトをダウンキャストするにはどうすればよいですか?

4

1 に答える 1