• 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

佚名通过本文主要向大家介绍了求淘宝全屏海报代码,求html网页代码,如何求股票代码,求神秘代码,求阶乘的代码等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 求这段代码错在哪里?
描述:

#include "stdafx.h"
#include <windows.h>
#include <comdef.h>
#include <list>
#include "e:\sdbg\interfaces\interfaces.h"
class CDev
{
public:
ISerialDevice* m_pdev;
CDev (ISerialDevice* pdev) : m_pdev (pdev) {}
CDev (const CDev& dev)
{
m_pdev = dev.m_pdev;
}
~CDev () {
if (m_pdev)
{
m_pdev->Release ();
m_pdev = NULL;
}
}
};
int main(int argc, char* argv[])
{
::CoInitialize (0);
ISerialDevice * psd = 0;
CLSID clsid;
HRESULT hr = ::CLSIDFromProgID (_bstr_t ("YMIDevices.QDSeries"), &clsid);
if (FAILED(hr))
return 1;
hr = ::CoCreateInstance (clsid, 0, 5, IID_ISerialDevice, (void**) &psd);
if (FAILED(hr))
return 1;
std::list<CDev> devlist;
psd->AddRef ();
devlist.push_back (CDev (psd));
::CoUninitialize ();
return 0;
}


解决方案1:

把这句话去掉吧
::CoUninitialize ();
你的问题出在,你将你的接口包装到一个类中去了,这相当于一个智能指针,你的指针的Release是在类的析构中调用的,而你的类的析构调用是在main函数结束之后才会调用,这时你已经调用了CoUninitialize,在这之后Release指针是会报错的


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

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

  • 求一段简单的代码
  • 100分求InsideCOM代碼下載
  • 求代码要多少分我都给
  • 求这段代码错在哪里?

相关文章

  • 2017-06-04 关于截获ActiveX控件消息的问题
  • 2017-06-04 vc60调用matlab71生成com组件的问题,谢谢
  • 2017-06-05 关于DLL中通告消息的发送原则不够再加
  • 2017-06-04 初学ATL,问题多多
  • 2017-06-05 怎么确定从WinThread继承的类已经启动完毕,可以给他发消息了160分求解,还有一个帖子在基础版了
  • 2017-06-04 关于ATL控件字符串参数长度的问题
  • 2017-06-04 关于vb调用vc编写的com组件的问题!请各位大虾赐教!!!!
  • 2017-06-04 老问题,但是一直没人告诉我
  • 2017-06-04 斑竹/大虾:com调用的小问题,但很急!
  • 2017-06-04 在ATL创建的COM组件里用什么来进行文本文件读写?

文章分类

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

最近更新的内容

    • 如何在用ATL开发的COM组件及ActiveX控件对象中增加许可证支持?
    • MFC怎样调用DLL呢?
    • MFC在未装word的电脑上如何把数据库中的数据写成doc格式
    • 编写activex时param参数传递的问题
    • ?调用COM时,编译通过,Link时报错errorLNK2001:unresolvedexternalsymbol_IID_ICamShift
    • 如何把一段内存设为临界区????
    • 我按照MS的教程写了个嵌入并自动化Word文档的程序,竟然打开word文档全部是乱码,有什么办法解决?
    • 在线急等,问题解决马上给分,ActiveX的注册问题~
    • 如何使用INewWindowManager来修改弹出窗口阻止
    • 如何在向导生成的用户界面中添加自己的东西?

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

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