• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 大家帮忙看看这段代码有什么问题吗?高分!!!

大家帮忙看看这段代码有什么问题吗?高分!!!

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了win10高分屏问题,帮忙写代码,我来帮忙改进这个问题,帮忙解决问题的英文,帮忙解决问题等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 大家帮忙看看这段代码有什么问题吗?高分!!!
描述:

void CEDlg::OnButton1() 
{
// TODO: Add your control notification handler code here
IXMLDOMDocumentPtr pXmlDoc = NULL;
IXMLDOMNodeListPtr NodeListPtr = NULL;
MSXML2::IXMLDOMNode *DOMNode = NULL; 
CString strContest;
HRESULT   hr;
_variant_t tt("D:\\test.xml");
try
{
CoInitialize(NULL);
hr = CoCreateInstance (CLSID_DOMDocument, NULL, CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER, IID_IXMLDOMDocument,(LPVOID *)&pXmlDoc);
if ( SUCCEEDED ( hr ) ) 
{
pXmlDoc->load(tt);
NodeListPtr = pXmlDoc->getElementsByTagName("code");
for(int i=0; i<NodeListPtr->length; i++)
{
NodeListPtr->get_item(i, &DOMNode);
strContest = (LPCSTR)DOMNode->text;
DOMNode->Release();
DOMNode = NULL;
AfxMessageBox(strContest);
}
NodeListPtr->Release();
NodeListPtr = NULL;
pXmlDoc->Release();
pXmlDoc = NULL;
}
CoUninitialize();
}
catch(_com_error &err)
{
CString  strErr = (LPCTSTR)err.Description();
AfxMessageBox(strErr);
}
catch(...)
{
AfxMessageBox("unknow error");
}
}
1。每次执行到NodeListPtr = NULL;时总是报错:User breakpoint called from code at 0x77f9193c
2。如果注释掉这行,则执行到pXmlDoc = NULL;时报错:Unhandled exception in comtest.exe:0xC0000005:Access Violation.点确定后,程序停在了
void _Release() throw()
{
if (m_pInterface != NULL) {
m_pInterface->Release();
}
}的m_pInterface->Release();处。
3。如果把上述行再注释掉,则在退出该函数void CEDlg::OnButton1()时报错:Unhandled exception in comtest.exe:0xC0000005:Access Violation.点确定后,程序还是停的位置同2。
不知道是否我的程序释放资源部分不完整还是顺序有问题,请大家帮忙!


解决方案1:

同意楼上说的

解决方案2:

把
NodeListPtr->Release();
pXmlDoc->Release();
两行注释掉。COM智能指针能够通过置空的方式自己释放。


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 一个郁闷好久的问题高分求解在线等
  • 关于COM下的奇怪问题,高分求救!!
  • 简单问题,求救,200高分相送!
  • [高分求解简单问题]EXCEL为什么有些数据能读出来,有些读不出来。
  • 在线高分求解。为什么会出错,线程问题
  • 高分!求解关于钩子的问题
  • 高分求解一个奇怪的问题
  • 简单问题,高分相送!关于程序跟踪调试的问题!
  • 高分求助,杀死进程的问题
  • 高分请教!!!远线程编程中的具体问题!!!

相关文章

  • 2017-06-05 dll怎么返回一个字符串啊!高手请指教
  • 2017-06-05 msscriptocx线程问题
  • 2017-06-05 关于有界面的服务程序
  • 2017-06-05 请问消息队列有大小吗?
  • 2017-06-04 HELP!!关于ATL中的一个莫名其妙的内存问题
  • 2017-06-05 关于静态控件的背景色
  • 2017-06-04 如何修改微软提供的示例程序,使其支持中文的xml
  • 2017-06-04 好像是老问题:如何在显示属性-->高级,里添加一个tab。
  • 2017-06-05 在DLL中写了很多个线程,现在想在程序中动态加载并启动线程,有啥要注意的?
  • 2017-06-05 线程中窗口问题,求救!!

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 如何完成程序的自动执行
    • 在com函数中传另一个com指针
    • 如何制作开机自启动程序
    • ActiveX中多线程的应用问题
    • MFC串口使用几种波特率轮询嵌入式板
    • 关于hookopenprocess的奇怪的问题
    • 看过TOo2y的《无进程DLL木马又一开发思路》请进
    • 关于把第三方接口输出的问题
    • 问一个颇具难度的问题:同一个Dll的多个实例如何共享一个函数??
    • 在com定义的BOOL类型属性,在vb中显示为long,为什么?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有