delphi6中的IntfCast

delphi6中的IntfCast,delphi,casting,delphi-6,Delphi,Casting,Delphi 6,我有一个项目,其中大量的源代码是不可用的。其中一个函数中存在IntfCast异常,我已使用CPU调试器逐步检查了应用程序,并已识别出包含强制转换操作的函数和涉及的一个类,但我无法识别另一个类。我正在尝试复制错误,但我正在尝试的强制转换操作没有调用IntfCast。我如何让演员们调用IntfCast 谢谢。IntfCast在您尝试将对象或接口强制转换为其他接口时被调用。下面是一些内部调用IntfCast的示例代码: type ISomeInterface = interface [guid-goe

我有一个项目,其中大量的源代码是不可用的。其中一个函数中存在IntfCast异常,我已使用CPU调试器逐步检查了应用程序,并已识别出包含强制转换操作的函数和涉及的一个类,但我无法识别另一个类。我正在尝试复制错误,但我正在尝试的强制转换操作没有调用IntfCast。我如何让演员们调用IntfCast


谢谢。

IntfCast
在您尝试将对象或接口强制转换为其他接口时被调用。下面是一些内部调用
IntfCast
的示例代码:

type ISomeInterface = interface
[guid-goes-here, use ctr+g to obtain unique guid]
  procedure DoSomething;
end;

var X: TComponent;
    i: IUnknown;
begin
  (X as ISomeInterface).DoSomething;
  (i as ISomeInterface).DoSomething;
end;

IntfCast
动态强制转换中调用


读这篇

这是一个更神秘的变体吗:?它是相关的。这实际上更接近问题的根源。我已经确定了实际发生错误的函数。问题是,我没有源代码,所以我试图重新创建我正在编写的代码中的错误,这样我就知道在执行CPU指令时要查找什么。