• 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 > 该死的CoUninitialize

该死的CoUninitialize

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

佚名通过本文主要向大家介绍了couninitialize,这该死的爱,该死的温柔,该死的温柔歌词,你这该死的温柔等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 该死的CoUninitialize
描述:

是不是CoUninitialize一呼叫程序就要退出阿?!我的一个程序要用户能够反复使用,如果不呼叫CoUninitialize会有一些系统库没有退出来,第二次进去的时候程序失灵,可是呼叫了CoUninitialize程序立马退出了!!真是头痛!有没有大侠能够解决这个问题?重谢!!


解决方案1:

CoUninitialize和CoInitialize()是配对的,而且与线程相关,
怀疑是你调用CoUninitialize导致程序中某些Com对象调用失败,从而
导致应用程序崩溃

解决方案2:

rt

解决方案3:

gz

解决方案4:

在程序启动时 InitInstance时调用CoInitialize,
在程序退出时调用CoUni....

解决方案5:

Closes the COM library on the current thread, unloads all DLLs loaded by the thread, frees any other resources that the thread maintains, and forces all RPC connections on the thread to close.
上面的这段话摘自MSDN,话中对CoUninitialize的功能进行了简单的说明,从中我们可以得到,当调用CoUninitialize这个函数的时候,会关掉其所做的线程。那么如果你的应用在运行的时候只有一个进程,而且该进程也仅有一个线程的话,那么调用该函数自然会导致整个应用的退出。我想,你在你的应用中创建一个单独的线程来进行装载DLL的有关操作,应该可以解决你的问题。
以上仅仅是我根据MSDN提供的资料所作的简单分析,没有去验证,可能不对,请谅解。

解决方案6:

最好不要多次的调用CoUninitialize!这样从效率来说不高!
如果不呼叫CoUninitialize会有一些系统库没有退出来,这和你第二次进入能有什么冲突呢?就不能想办法不让他冲突?

解决方案7:

在程序退出的时候调Couninitialize.

解决方案8:

你没有设计好程序的可重入问题,至于这种函数,也许微软在设计时,就没想到有人会在一个进程中,反复多次的init和uninit。


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

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

  • CoUninitialize抛出异常
  • 不调CoUninitialize会否有问题?
  • 线程结束时运行到这里CoUninitialize退不出去,卡死在这里?
  • 程序中用了CComPtr的话,还需要CoInitialize和CoUninitialize吗?
  • 关于CoUninitialize
  • 如果我不调用CoUninitialize发现Debug并没有报告内存泄漏啊
  • CoIntialize和CoUninitialize问题
  • 该死的CoUninitialize
  • CoUninitialize执行完,函数返回时出错,请帮助!
  • 一个函数中有CoInitialize,就一定要有CoUninitialize吗?可不可以分开?

相关文章

  • 2017-06-04 shell扩展的调试问题
  • 2017-06-05 一个MFC扩展dll中只能输出一个类吗?
  • 2017-06-05 关于SpeechSDk51的问题!请知道的回答啊
  • 2017-06-04 求教MFC非文档视程序实现自动化的方法
  • 2017-06-04 各位前辈解答一下,关于com聚合的问题。
  • 2017-06-04 在非对话框容器中调用activex出错
  • 2017-06-05 互斥访问总是等待超时在线急等!
  • 2017-06-05 创建的线程没有运行,怎么回事?
  • 2017-06-04 IE编程问题
  • 2017-06-04 [急]请问如何查询COM接口里面的成员属性,方法等等)

文章分类

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

最近更新的内容

    • 对于一个相同的存储过程NaviCat调试VisualStudio调试,和C++GetFieldValue得到的值不同
    • MFC实现COM通信用API的方式在调用这个StartMonitoring是报错了
    • CAB文件打包后嵌入网页中没有提示下载且显示红叉
    • 100分请教ATL编写ASP组件过程中遇到的问题
    • 用ATL编COM组件,想在组件退出时加入代码,怎么做呢?
    • 用MFC开发的ACTIVEX控件,怎样取得本控件所在的IE窗口的句柄。从而使这个IE窗口从最小化形式变成最大化形式。
    • 如何编写一个钩子程序,实时获得文本编辑框中滚动显示的文本?
    • IOleInPlaceSite这个接口如何实现?
    • 如何使线程函数立即响应PostThreadMessage发的消息?
    • 急:如何将一个类封装成为dll文件?在def文件中怎么写?:::::在线等待:::::

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

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