如何在一个方法中返回另一个接口 有一个接口IMotoCar的方法:GetHeader(/*[out,retval]*/IHeader **Header)这个方法中要返回另一个接口IHeader,该怎么办? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 已有的接口指针->AddRef();*Header = 已有的接口指针; 谢谢.我照您的做法去试了,可以,但是还是有一些小问题。接口IHeader用类CHeader实现class CHeader:public IHeader......{....STDMETHOD(get_ID)(/*[out, retval]*/ long *pVal);STDMETHOD(put_ID)(/*[in]*/ long newVal);private:long m_ID;}接口IMotoCar 用类CMotoCar实现class CMotoCar:public IMotoCar......{....STDMETHOD(get_Header)(/*[out, retval]*/ IHeader **pVal);STDMETHOD(put_Header)(/*[in]*/ IHeader *newVal);private:IHeader *m_pHeader;}然后我在VB中创建了一个Header对象h1和MotoCar对象,调用IMotoCar的put_Header赋值,又创建一个Header对象h2并用get_Header得到先前的Header对象,这时我发现,h1和h2完全不一样了,这是怎么回事? 关于CGridCtrl控件的小问题 如何将CString 转换成 ACSII vc6中用C API取得MYSQL中的datatime类型的数据,如何赋值给CTime类的对象? 一个连接点的问题 文件位操作求助! winexec执行批处理文件好像不起作用,该用什么函数了。 这个结果是什么? 图片转场效果时碰到的问题 如何得到用户所有运行的程序的记录?(详细见内) 蒋大哥在不在? 3个对话框的切换显示---无模态的典范应用,高手请进 CString 怎样转成Int????????
*Header = 已有的接口指针;
我照您的做法去试了,可以,但是还是有一些小问题。
接口IHeader用类CHeader实现
class CHeader:public IHeader......
{
....
STDMETHOD(get_ID)(/*[out, retval]*/ long *pVal);
STDMETHOD(put_ID)(/*[in]*/ long newVal);
private:
long m_ID;
}
接口IMotoCar 用类CMotoCar实现
class CMotoCar:public IMotoCar......
{
....
STDMETHOD(get_Header)(/*[out, retval]*/ IHeader **pVal);
STDMETHOD(put_Header)(/*[in]*/ IHeader *newVal);
private:
IHeader *m_pHeader;
}
然后我在VB中创建了一个Header对象h1和MotoCar对象,调用IMotoCar的put_Header赋值,又创建一个Header对象h2并用get_Header得到先前的Header对象,这时我发现,h1和h2完全不一样了,这是怎么回事?