HRESULT replaceChild(
IXMLDOMNode* pNewChild,
IXMLDOMNode* pOldChild,
IXMLDOMNode** ppOutOldChild
);
IXMLDOMNode* pNewChild,
IXMLDOMNode* pOldChild,
IXMLDOMNode** ppOutOldChild
);
解决方案 »
- VC用ADO 创建一个数字类型(double)的字段 请问怎么写_ConnectionPtr中Excute的代码?
- 关于AddFontResource(添加临时字体)与内存问题
- 怎样在动态win32 dll中调用activeX控件的功能?
- 我的工程在vc6.0为什么debug 不能设断点? 这样调试极不方便?如何设置?
- 一个关于延长线上求点的问题!
- 求一个快速逆傅里叶变换的头文件。。。。或者把这个正傅里叶改成逆的。谢谢了
- CBitmap m_bitmap;这句话有没有生成位图句柄?(马上给分的)
- 请问各位大虾:RPC是什么东东
- DeleteItem调用之后是不是从List控件中删除了?
- "/"表示整除,但是我不想整除怎么办?比如将A/B,并转化成百分数。
- 如何获取窗口的位置?
- 关于图象显示的问题
IXMLDOMNode* pNewChild, // 将要替换旧节点的新节点
IXMLDOMNode* pOldChild, // 被替换的旧节点
IXMLDOMNode** ppOutOldChild // 返回被替换的旧节点,它返回的值应该等于前面传入的pOldChild
); 之所以返回删除的节点是因为某些时候我们需要对删除的节点在做处理,如果不返回我们删除了一会就再也不能获取指向他的指针了。
2.替换之后还可以通过pNewChild对新节点操作吗?之后是否需要调用pNewChild->Release()?
3.如果我想使pOldChild指向替换之后的新节点,即pOldChild = pNewChild;(这种操作会自动调用AddRef()吗?), 会有什么问题?
这个问题实在令人很难受,谢谢!
应该不是这样的1. 替换后pOldChild就可能为空了,ppOutOldChild的值只是可能和替换前的pOldChild相同
2. I think so.
3. 不是智能指针,应该不会AddRef.
替换换后,可以调用pOld->Release()和pOutOldChild->Release();
pOldChild = pNewChild之后要调AddRef(),否则pNewChild->Release()后对pOldChild操作会失败(我也创建了几个函数,用来创建新的节点然后返回节点指针,
这么以来也不用不怕有内存泄漏了,呵呵).
所以,我觉得这个函数很诡异,不知是不是错觉.