• 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 > 在ATL中各方法要使用的变量应哪儿声明?

在ATL中各方法要使用的变量应哪儿声明?

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

佚名通过本文主要向大家介绍了atl34砂轮,atl方形动力电池,atl80.dll官方下载,atl71.dll一键修复,atl71.dll修复等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 在ATL中各方法要使用的变量应哪儿声明?
描述:

用全局变量可以满足要求,除此之外呢?
我试着声明为类的成员变量,根本不行,由于采用的是多继承。
不知道大家有什么别的办法?


解决方案1:

用成员变量肯定没问题,像这样都没有问题:
template< class _T >
struct ATL_NO_VTABLE IMyTestImpl : public IMyTest
{
STDMETHOD(SetVal)(long lVal)
{
_T * pThis = static_cast<_T*>(this);
pThis->m_lVal = lVal;
return S_OK;
}
STDMETHOD(GetVal)(long* lval)
{
if( !lval ) return E_POINTER;
_T * pThis = static_cast<_T*>(this);
*lval = pThis-> m_lVal;
return S_OK;
}
};
class ATL_NO_VTABLE CXXXXOBJ : 
public CComObjectRootEx<XXXXXX>,
public CComCoClass<CXXXXX, &CLSID_XXXXXX>,
public ......,
public IMyTestImpl<CXXXXXOBJ>
{
public:
     long m_lVal;
public:
 .........
}

解决方案2:

这个好像没有问题啊,定义成成员变量肯定没问题的,咔咔
不大清楚你在问什么问题

解决方案3:

类的成员在哪里声明就在哪里声明
ATL中,还不是类吗

解决方案4:

声明为类的成员变量

解决方案5:

声明为接口实现类的成员变量!


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

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

  • ATL怎么实现可变参数的接口?
  • 怎样用ATL写一个含有其它组件的进程外COM
  • ATL7中加入socket的头文件编译出错
  • 在ATL工程MFC窗口调用Create失败(注:我的ATL工程支持MFC)
  • ATL正则表达式验证遇到中文出现异常!
  • 关于ATL做复合控件的问题
  • [讨论]ATL中的文本字符串,我该定义为什么类型
  • ATL开发指南第2版为什么所有的书店都没有卖的?电子版也没有
  • 大家一般都怎么打包Atl开发的ActiveX控件?
  • 求ATL解决方案

相关文章

  • 2017-06-04 能否介绍几本COM技术方面的书
  • 2017-06-04 请问在VC70中如何定义枚举类型的常量,?
  • 2017-06-04 开个贴子,大家进来探讨一下初学ATL,编写COM时的一些问题,我会有一些疑问,我不懂,就提出来
  • 2017-06-04 求助:VC中如何创建JavaScript的Array对象
  • 2017-06-05 如何实现外挂程序的自动启动?
  • 2017-06-04 请问用ActiveX控件实现符合下述功能谢谢
  • 2017-06-04 cad中ddvueocx如何浏览CAD文件
  • 2017-06-05 《ACE自适配通信环境中文技术文档》
  • 2017-06-05 高手请进,多线程问题?
  • 2017-06-05 求助:VS2010中使用COM编译错误

文章分类

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

最近更新的内容

    • 请问怎么给DLL文件重命名,原来叫ADLL,我想改成BDLL,调用时不再调用ADLL
    • ATL写的ActiveX中出现的连接错误,请大家看看
    • 请问如何在组件服务中注册tbl内的COM组件
    • vc中定义了结构其成员都是charxx[],传递到com接口,该结构在idl中的定义是否和vc中定义的一样?
    • CCriticalSection的问题
    • 怎么精简dll的大小啊?
    • 如何从ActiveX控件里返回一串字符串结果给网页?
    • 线程同步问题2
    • 只要有思路就来说一句-->开发类似ADOmsado15dll这样的COM组件,主要想实现RecordsetFields0Item这样的调用
    • 如何在ATL对话筐中加入控件并控制?

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

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