Delphi 6 中的 IntfCast

发布于 2024-10-28 05:16:17 字数 168 浏览 2 评论 0原文

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

谢谢。

I have a project where a large amount of the source code is unavailable. There's an IntfCast exception in one of the functions and I've beens stepping through the application with the CPU debugger and have identified the function containing the casting operation and one of the classes involved, but I can't identify the other class. I am trying to replicate the error but the casting operation I'm attempting is not calling IntfCast. How do I get the cast to call IntfCast?

Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

白衬杉格子梦 2024-11-04 05:16:17

当您尝试将对象或接口转换为其他接口时,将调用 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 is called when you try to cast an object or an interface to an other interface. Here's some sample code that internally calls 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;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文