ATL项目,头文件内的定义的变量,只能在源文件下有STDMETHODIMP开头定义的函数下用?

ddlik ddlik 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
比如在iFoo add property PropertyA ,
Foo.h

class ATL_NO_VTABLE CFoo:
public CComObjectRootEx<CComSingleThreadModel>,
...
{
...
private:
short m_sPropertyA;
...
public:
STDMETHOD(get_PropertyA)(SHORT* pVal);
STDMETHOD(put_PropertyA)(SHORT newVal);
}


Foo.cpp

STDMETHODIMP CFoo::get_PropertyA(SHORT* pVal)
{
// TODO: Add your implementation code here
*pVal = m_sPropertyA;
return S_OK;
}


STDMETHODIMP CFoo::put_PropertyA(SHORT newVal)
{
// TODO: Add your implementation code here
m_sPropertyA = newVal;
return S_OK;
}

int FunA()
{
short s = m_sPropertyA; // error
}

//以上都可以正常使用 m_sPropertyA 这个变量
//但是自己在这个源文件定义一个新的函数,就不能使用这个内部变量了,应该怎么办呢?



...全文

相关推荐

VC ATL EVENT

ATL EVENT VC++ 转自杨老师的文章

zhangxiaonanwin

ATL全攻略 alt

ATL全攻略 alt

yanhuifair

ATL中界面类的使用

ATL中界面类的使用 ATL中界面类的使用 ATL中界面类的使用

haihui0705

atl 简单例子

atl 简单例子 以前用的vc6开发atl 在vs2013突然不灵了,连一个简单对象的接口都加不上,原来需要勾上“支持 COM+ 1.0】和【支持部件注册器】”

cmf41013

ATL——com学习笔记

1 、如何替换默认的类厂? 2 、如何让 COM 组件支持 Web 事件? 3 、如何动态创建要求 License 的 ActiveX 控件? 4 、如何在 Web 页面上生成基于 XML 的树形菜单? 5 、如何在 Web 页面上创建动态表格? 6 、如何为 Win32 服务程序提供事件源消息文件? 7 、如何创建单实例(静态) COM 组件? 8 、如何在 Delphi 6 及以上版本中使用可变常量(类型常量)? 9 、几个有用的 ANSI C 和 VC++ 预定义宏 10 、如何在自己的程序中使用脚本语言? 11 、如何在基于 CHtmlView 的程序中使用 HTML 事件映射? 12 、如何得到 Web 页面中的 COM 组件的原始接口? 13 、如何生成全球唯一标识( UID )? 14 、如何重写 MFC 的缺省控件容器( IOleContainer )? 15 、如何重写 WebBroswer 控件的缺省安全处理功能? 16 、如何重写 WebBroswer 控件的缺省下载管理器? 17 、如何定制 IE 或 WebBroswer 控件的缺省打印和打印预览框? 18 、如何扩展 IE 或 WebBroswer 控件提供的文档对象模型( DOM )? 19 、如何给 WebBroswer 控件的扩展文档对象(文档 .external )提供事件能力 ? 20 、如何打开流中的 HTML 文档? 21 、如何使 Web 页面中的对象可以拖动? 22 、如何把 Web 页面中用到的图像等外部文件嵌入 DLL 或 Exe ? 23 、如何使用 #import 指令从文件定位特定类型库资源 ID ? 24 、如何让你的 MFC 类实现 IDispatch 接口? 25 、如何自行管理 IE 缓存目录里的内容? 26 、 Windows Mobile 里如何使用 WebBrowser 控件? 27 、为什么在 Windows Mobile 里无法使用宿主在 exe 里的 COM 组件? 28 、如何扩展 IE 的协议,使其支持自定义的协议?

zhangjunyu0606
评论 2
收藏 已收藏
分享
返回顶部
ddlik
ATL 3,248 成员 48,530 内容