接口 相互引用 怎么办? 接口 1 的一个 函数 要 用 到 接口2 的 指针 ,接口2 的一个函数 要用到 接口1 的指针 ,接口2 和 接口 1 都在同一个 IDL 文件中 ,这种 相互引用 怎么解决 ? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 显示的释放一次Interface1.Detach(){ if(Interface2) { Interface2.Release(); Interface2 = NULL; } ....}Interface2.Detach(){ if(Interface1) { Interface1.Release(); Interface1 = NULL; } ....}外面在释放这2个接口前,先调用 Interface.Detach() 改用传IID吧!在函数内部在QueryInerface 关键是我定义 时就出错, 因为在IDL 中总得有个先后,而前面的又不能用到后面的接口 定义,但同时后面的也需要用前面的接口定义就像文件互包含一样,不知道怎么解决? 是否可以象类的声明一样,先声明一次interface A2;interface A1{}interface A2{} 同意newkey007(无限天空) 和top_hipster(top_hipster) 所说! 部分同意newkey007(无限天空) 和top_hipster(top_hipster) 所说的实现办法!另可见《COM本质论>>.//////////////////////改用传IID吧!在函数内部在QueryInerface也是一种方法。/////////////////////////还有一个办法就是类似于C++中的void*的做法,互相传IUNKOWN来变通一下。/////////////////////////COM的初学者,随便说说。不过我觉得,人们要用COM的理由就是去掉过多的耦合,尤其是去循环依赖(COM设计者就是依据这个想法来构造COM的)。你这样写也许可以有各种方法实现,但在设计方案的时候已经先输掉了一大块。——因为你这个恰恰就是一个循环依赖。我认为最好的办法是改进你的设计先。 请教下关于ReadProcessMemory这个函数中ERROR_PARTIAL_COPY 299 如何向文本文件中写入一个Tab值 CString转char类型 树目录和列表的问题 边缘检测的问题 如何用鼠标拖放动态生成的控件,急!真是想不出来了!! 怎么使用Pictrue控件? 送分:一个简单的MFC程序在VC++中怎么编译??? 对虚函数表的迷惑!!! 有没有类似QQ那样的头像选择的列表狂,怎么做 请问怎么样关闭一个文档啊 100分,请教 文件操作问题:读文件和写文件
{
if(Interface2)
{
Interface2.Release();
Interface2 = NULL;
}
....
}
Interface2.Detach()
{
if(Interface1)
{
Interface1.Release();
Interface1 = NULL;
}
....
}外面在释放这2个接口前,先调用 Interface.Detach()
在函数内部在QueryInerface
接口 定义,但同时后面的也需要用前面的接口定义
就像文件互包含一样,
不知道怎么解决?
interface A2;interface A1{}interface A2{}
部分同意newkey007(无限天空) 和top_hipster(top_hipster) 所说的实现办法!另可见《COM本质论>>.//////////////////////
改用传IID吧!
在函数内部在QueryInerface
也是一种方法。
/////////////////////////
还有一个办法就是类似于C++中的void*的做法,互相传IUNKOWN来变通一下。/////////////////////////
COM的初学者,随便说说。不过我觉得,人们要用COM的理由就是去掉过多的耦合,尤其是去循环依赖(COM设计者就是依据这个想法来构造COM的)。你这样写也许可以有各种方法实现,但在设计方案的时候已经先输掉了一大块。——因为你这个恰恰就是一个循环依赖。我认为最好的办法是改进你的设计先。