• 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

佚名通过本文主要向大家介绍了易语言子程序指针,c语言指针程序,子程序指针,程序指针,c语言程序设计 指针等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 这段程序怎么了?智能指针的问题
描述:


atl1.dll 是我用 atl 做的一个库,只有一个 hello 方法,
///////////////////////////////////////////////////////////
// 开始
#include "stdio.h"
#include "windows.h"
#import "D:\\ccc\\atl1\\Debug\\atl1.dll"  no_namespace rename("EOF","rsEOF") 
_COM_SMARTPTR_TYPEDEF(IJkk, __uuidof(IJkk));
void main()
{
::CoInitialize(NULL);
IJkkPtr  aaa; //
HRESULT hr = S_OK;
hr = aaa.CreateInstance(__uuidof(IJkk));  // 这句有问题吗?
if(hr== S_OK)
{
aaa->hello();     //  
 printf(" hello atl \n");
}
else
{
printf(" fail  \n"); //  总是执行这句
}
 
::CoUninitialize(); 
}
// 结束
//////////////////////////////////////////////////////////////
上面的代码有问题吗,各位给指点指点,谢谢


解决方案1:

初始化指针为NULL。

解决方案2:

hr = aaa.CreateInstance(__uuidof(IJkk));  // 这句有问题吗?
有问题!!!
IJkkPtr  aaa = NULL; //
hr = aaa.CreateInstance(__uuidof(CJkk));  // 参数应该是clsid
在程序要退出时:aaa = NULL;

解决方案3:

void main()
{
::CoInitialize(NULL);
{ // 补充
IJkkPtr  aaa; //
HRESULT hr = S_OK;
hr = aaa.CreateInstance(__uuidof(IJkk));  // 这句有问题吗?
if(hr== S_OK)
{
aaa->hello();     //  
 printf(" hello atl \n");
}
else
{
printf(" fail  \n"); //  总是执行这句
}
 
} //补充 
::CoUninitialize(); 
}

解决方案4:

HRESULT hr;
hr = aaa.CreateInstance(__uuidof(IJkk));
if(SUCCESSDED(hr))
{
....
}


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

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

  • 这段程序怎么了?智能指针的问题
  • 在一个支持自动化的程序中,如何获取程序自身自动化接口的指针?

相关文章

  • 2017-06-05 SOS,内存AccessViolation怎么解决啊?
  • 2017-06-04 谁能给我一个VC技术群的号
  • 2017-06-04 TOM模型的ITextRange::FindText方法如何进行正则表达式查找
  • 2017-06-05 !!!!!!!!!!ocx过滤了很多系统消息求解决方式急!!!!!!!!!
  • 2017-06-04 关于IE工具条的位置的问题
  • 2017-06-04 MFC中edit控件的焦点问题
  • 2017-06-05 我想做个VB使用的DLL,但是需要给它提供大量的数据,并且需要它输出大量数据,各位能给个方案么?
  • 2017-06-05 怎么调试COM组件?
  • 2017-06-05 vc++如何实现异步调用返回是不是该这样问我也说不准
  • 2017-06-05 DLL中结构变量的问题

文章分类

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

最近更新的内容

    • 我写的dll,拿到别的机上不能用
    • CString开始怎么加入ASCII的0x00
    • 求助dshow如何使用注册过的filter
    • active控件焦点不能转移
    • 调用复合文档时olerun出错
    • ATLDLL中的MFC对话框问题,大虾请进
    • 100分问全局hook的MouseProc问题
    • delphi写的dll函数,如果要用c++来声明,应该怎么写?
    • 如何编程读写TLB文件?
    • ocx升级以后,引用工程中的控件头文件如何更新?

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

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