私はこのプロジェクトに取り組んでおり、プロジェクトの大部分のソース コードはありませんが、いくつかの情報を含む .DLL ファイルがあります。DLL ファイルにバグがあります。バグを含むクラスのサブクラスを作成でき、アクセスできる時点で既に存在するオブジェクトをダウンキャストしたいと考えています。問題は、オブジェクトにアクセスできる任意の時点で、バリアントとしてキャストされることです。私は次のことを試しました(コンテキストを削除するために編集しました):
tempSubclass := Subclass(ParentClass(Integer(oleVariantCast)));
しかし、次のエラーが表示されます。
Could not convert variant of type (Dispatch) into type (Integer)
オブジェクトへのポインターを OleVariant から取得したり、型キャストを行う他の方法はありますか?
ありがとうございました。
編集: はい、Parentclass は IDispatch を実装します。訂正: 親クラスは、IDispatch から継承するインターフェイスを実装します。