我正在处理这个项目,我们没有大部分项目的源代码,但我们有包含一些信息的 .DLL 文件。DLL 文件中存在错误。我能够创建一个包含错误的类的子类,并且我想向下转换在我可以访问它的点上已经存在的对象。问题是在任何时候我都可以访问该对象,它被转换为一个变体。我尝试了以下方法(已编辑以删除上下文):
tempSubclass := Subclass(ParentClass(Integer(oleVariantCast)));
但我收到以下错误:
Could not convert variant of type (Dispatch) into type (Integer)
有没有其他方法可以从 OleVariant 中获取指向对象的指针和/或进行类型转换?
谢谢你。
编辑:是的,Parentclass 实现了 IDispatch。更正:父类实现了一个从 IDispatch 继承的接口。