ActiveX 返回自定义结构体

ycf330 2010-03-09 09:00:05
ActiveX 方法怎么返回自定义结构体 DISP_FUNCTION怎么写?
...全文
248 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
微wx笑 2012-03-06
  • 打赏
  • 举报
回复
不太明白
cheery_an 2010-05-21
  • 打赏
  • 举报
回复
终于找到了
wshcdr 2010-03-10
  • 打赏
  • 举报
回复
最好是把这个结构定义成接口,在COM中用起来才方便
oyljerry 2010-03-10
  • 打赏
  • 举报
回复
引用 9 楼 ycf330 的回复:
引用 8 楼 wshcdr 的回复:在idl文件中如下定义 interface IUser : IDispatch{ [propget, id(1), helpstring("property moo")] HRESULT moo([out, retval] BSTR* pVal); [propput, id(1), helpstring("property moo")] HRESULT moo(?-

建立ActiveX工程等,VC就会帮你生成IDL文件,然后可以自己修改添加接口等
ycf330 2010-03-10
  • 打赏
  • 举报
回复
引用 8 楼 wshcdr 的回复:
在idl文件中如下定义

interface IUser : IDispatch{
[propget, id(1), helpstring("property moo")] HRESULT moo([out, retval] BSTR* pVal);
[propput, id(1), helpstring("property moo")] HRESULT moo([in] BSTR newVal);

};

HRESULT foo([in] IUser * pUser);

然后分别实现IUser 和 foo
谢谢,怎么引入IDL文件?
wshcdr 2010-03-10
  • 打赏
  • 举报
回复
在idl文件中如下定义

interface IUser : IDispatch{
[propget, id(1), helpstring("property moo")] HRESULT moo([out, retval] BSTR* pVal);
[propput, id(1), helpstring("property moo")] HRESULT moo([in] BSTR newVal);

};

HRESULT foo([in] IUser * pUser);

然后分别实现IUser 和 foo
ycf330 2010-03-10
  • 打赏
  • 举报
回复
引用 6 楼 wshcdr 的回复:
最好是把这个结构定义成接口,在COM中用起来才方便
能不能说的具体点?
ycf330 2010-03-09
  • 打赏
  • 举报
回复
引用 4 楼 wizardk 的回复:
用的是家里的电脑,ACTIVEX的方法里不是有很多种返回值可选吗?都是指针,就当VOID *传送好了。
好的,谢谢!我试一下
WizardK 2010-03-09
  • 打赏
  • 举报
回复
引用 3 楼 ycf330 的回复:
引用 2 楼 wizardk 的回复:DISP_FUNCTION * -> VOID * -> DISP_FUNCTION *能否给个范例?谢谢


用的是家里的电脑,ACTIVEX的方法里不是有很多种返回值可选吗?都是指针,就当VOID *传送好了。
ycf330 2010-03-09
  • 打赏
  • 举报
回复
引用 2 楼 wizardk 的回复:
DISP_FUNCTION * -> VOID * -> DISP_FUNCTION *
能否给个范例?谢谢
WizardK 2010-03-09
  • 打赏
  • 举报
回复
DISP_FUNCTION * -> VOID * -> DISP_FUNCTION *
gw_net 2010-03-09
  • 打赏
  • 举报
回复
IDL中要定义这个结构,而且只能在进程内使用

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧