• 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 > COM和线程的问题

COM和线程的问题

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

佚名通过本文主要向大家介绍了线程 初始化com库,com线程模型,com多线程调用,com 检查失败问题,dr.com问题等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: COM和线程的问题
描述:

一个COM中调用了一个API,这个API会创建线程。在一个普通应用程序中调用这个API没有任何问题,可以正常运行和退出。可是在COM中调用时,当调用COM的程序退出,API的线程没有终止,应用程序的进程也就一直存在。请问这种情况可能是什么原因造成的呢?谢谢!


解决方案1:

学习

解决方案2:

COM组件实例使用时,所有导出接口指针都会导致引用计数的增加,接口指针使用完了一定要记得调用release,只要计数正确,不会有这样的问题,有两种可能:
1、接口指针没释放。
2、有别的线程在共享COM组件实例。

解决方案3:

个人比较倾向星最多的那个老兄的说法,曾经在window服务器里面开启监听服务,启动线程,一般的程序就很好用,但是到了windows服务程序下面就会莫明的死掉,怀疑也是消息机制的控制问题。

解决方案4:

Mark.

解决方案5:

gz

解决方案6:

学习,学习

解决方案7:

是不是因为这个线程是启动在系统服务中,而不是在你自己的进程空间中的呢?
或者还要调用一个什么API去结束它呢?

解决方案8:

一般来说,你需要一个消息循环来列集COM操作。也就是说,如果消息循环终止,那么后续的COM操作可能失败。你应该在消息循环终止前确保释放了所有COM对象。

解决方案9:

ptr->Release();是不是被锁了呢

解决方案10:

释放之前有没有销毁线程

解决方案11:

你忘记释放组件了

解决方案12:

这种问题我有遇到过。
因为COM的窗口和消息机制与MFC下是不一样的,在COM下,你要特别注意内存指针的释放问题。注意线程中资源要及时清除

解决方案13:

可能api创建的线程接管了消息循环.只要主线程退出了,进程绝对会消亡.你具体的分析一下API创建的线程干了些什么


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

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

  • 关于COM中多线程的问题,100分,老大们都来帮忙啊
  • 关于com线程的概念,有些晕了
  • COM多线程调用
  • com多线程调用的问题
  • COM事件,多线程问题?
  • COM+线程池问题
  • [求助COM问题]COM中另外的线程触发的时间为什么在vb中接收不到?
  • 关于COM多线程的问题
  • 在COM中的一个线程中,怎么才能够Fire事件
  • COM多线程事件订阅问题

相关文章

  • 2017-06-04 如何在ActiveX控件中调用可执行程序?
  • 2017-06-04 有什么方法可以程序实现给指定的域用户安装指定的软件
  • 2017-06-04 当浏览器控件弹出脚本错误提示对话框时,如何能够利用程序自动将其关闭掉
  • 2017-06-04 我使用oracle的ocilib连接oracle,请问,不安装oracle客户端怎么连接。
  • 2017-06-04 COM入门问题,与idl文件和uuid有关
  • 2017-06-05 求助:ReadProcessMemory调用失败
  • 2017-06-05 Aplayercontrol
  • 2017-06-04 哪里有像Win2000自带的CD唱机的音量控件旋转按钮可以下载啊
  • 2017-06-05 问问关于CS的问题,怎么获得游戏数据?比如打死了多少人,赢了多少次的那些数据?
  • 2017-06-04 BSTR类型的传递!

文章分类

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

最近更新的内容

    • 在工作线程中调用Dao
    • 哪个牛人能看懂这段代码?????
    • VC++串口程序
    • 如何让dll调用客户程序中的方法?在线等
    • 通过注入aaadll文件,运行exe时提示"无法定位序数1于动态连接库aaadll上"错误对话框标题是"找不到Ordinal",这是什么原因
    • VC操作office文档::能不能在服务(会话0下面)里面读取office文档?
    • 现在有关COM的书和视频好难找?
    • 请教COM,DCOM,DLL的区别
    • 如何在DLL中导出一个类的接口以及如何调用它?
    • 面向组件编程是什么?

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

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