关于ActiveX控件制作时的问题,如何封装多个函数成一个函数。

dev_uoboy 2003-10-16 05:29:26
我用ActiveX做一个Ado控件,因为传统的那个控件(adodc)不能在一个特定的开发环境中用。

现在出现的问题,我用了一个ADO的类,里面提供有GetValue(xxx),有很多个(重载),现在我想在接口里只提供一个方法调用,来返回所有类型的值,并且都把他们转成CString返回,这样用户就可以很简单的使用(因为这种用户不是搞程序的,所以越简单越好),我想到了模板函数,可是在IDL里不能定义模板函数啊。。。大家看怎么解决这个问题?

先谢过
...全文
73 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Analyst 2003-10-16
  • 打赏
  • 举报
回复
不能用模版,你可以这样定义:
GetValueLong(LONG*);
GetValueFloat(float*);
GetValueString(BSTR*);
.....
xiaohyy 2003-10-16
  • 打赏
  • 举报
回复
你的传出值不是CString吗?

那就只提供GetValue(BSTR*);在内部把值转换为BSTR,在外部再转为CString
dev_uoboy 2003-10-16
  • 打赏
  • 举报
回复
GetValue(xxx) xxx是传出值喔.

比如GetValue(int &xxx)
dev_uoboy 2003-10-16
  • 打赏
  • 举报
回复
可否详细点?
xiaohyy 2003-10-16
  • 打赏
  • 举报
回复
GetValue(xxx)参数设置为VARIANT
dev_uoboy 2003-10-16
  • 打赏
  • 举报
回复
不至于吧....居然.....

3,245

社区成员

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

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