如果您在Delphi的“Evaluate/Modify”弹出窗口(Ctrl-F7)中检查接口指针,它将显示类似于以下内容的内容:
Pointer($656E84) as IConnectionPoint
我的问题是,调试器从何处获得“as IConnectionPoint”或其他信息,即
a)它如何知道指针正在引用哪种类型的接口; 和
b)调试器从何处(以及通过什么过程)获取其描述文本的文本,例如IConnectionPoint?
我想知道调试器是否通过某种方式查询指针持有的接口来管理这些内容。但是,“IInterface”(调试器报告的“IUnknown”)只有QueryInterface,_AddRef和_Release方法,并且我无法看到信息可以从中获取。同样,我无法看到调试器如何从指针的“历史记录”中推导出信息,因为引用的对象可能根本没有在Delphi应用程序中创建。
Pointer($656E84) as IConnectionPoint
我的问题是,调试器从何处获得“as IConnectionPoint”或其他信息,即
a)它如何知道指针正在引用哪种类型的接口; 和
b)调试器从何处(以及通过什么过程)获取其描述文本的文本,例如IConnectionPoint?
我想知道调试器是否通过某种方式查询指针持有的接口来管理这些内容。但是,“IInterface”(调试器报告的“IUnknown”)只有QueryInterface,_AddRef和_Release方法,并且我无法看到信息可以从中获取。同样,我无法看到调试器如何从指针的“历史记录”中推导出信息,因为引用的对象可能根本没有在Delphi应用程序中创建。