首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

InvokeHelper获取控件属性值时回到空

2012-12-23 
InvokeHelper获取控件属性值时返回空我自己做了个OCX,用在Office中实现一个小功能,控件中定义了几个Get/Se

InvokeHelper获取控件属性值时返回空
我自己做了个OCX,用在Office中实现一个小功能,控件中定义了几个Get/Set方法更新的属性,然后使用VC在后台打开Word,通过InvokeHelper(0x01, DISPATCH_PROPERTYGET, VT_BSTR, (void *)&m_strData, NULL)获取属性值,返回的却是空。但是有的属性也是这样出来的,就可以返回正确的值,劳驾各位给看一下,是控件本身的问题还是我这个VC小程序的问题啊?
[最优解释]
BSTR*吧
要不传不出来啊
[其他解释]
怀疑是控件的问题。
从InvokeHelper跟进去看看就知道了,源码面前无秘密。
[其他解释]
你传的参数对吗?出错的话 HRESULT多少
[其他解释]
贴代码,从你说的这些不能搞明白问题
[其他解释]
楼上的有什么搞不明白的,你指出来,我详细写出来
[其他解释]
我试了一下,SHORT的属性都能读到值,就是BSTR的属性,个别少数可以读出来,大部分读不出来
[其他解释]

引用:
BSTR*吧
 要不传不出来啊


[id(1), helpstring("属性 Author"), nonbrowsable] BSTR Author;
[id(7), helpstring("属性 DocInfo"), nonbrowsable] BSTR DocInfo;

Author的属性读出来了,DocInfo的就没读出来
[其他解释]
自己顶起来
[其他解释]
引用:
你传的参数对吗?出错的话 HRESULT多少

传的参数对
COleDispatchDriver::InvokeHelper
void AFX_CDECL InvokeHelper(
   DISPID dwDispID,
   WORD wFlags,
   VARTYPE vtRet,
   void* pvRet,
   const BYTE* pbParamInfo,
   ... 
);
您说的HRESULT在哪里?
对了,程序运行的时候没出错。
[其他解释]
我现在碰到的问题很奇怪,同样定义的属性,赋值后使用InvokeHelper去读,有的能读出来,有的读出来的是空,不知道哪位碰到过类似的问题
[其他解释]
m_wndFlash.SetVariable(_T("addresult"), strResult);
是将strResult值付给flash的一个变量名字为“addresult”的变量
但是我不知道在flash那边怎么定义,怎么写,大侠你给指点一下吧
[其他解释]
拜托 了waltsin

热点排行