向ATL COM AppWizard生成的com程序中添加方法时出错该如何处理?

lyqeast 2004-03-26 07:39:16
各位大大, 我第一次用ATL COM AppWizard生成一个dll, 然后向其中添加了一个ATL object(Sample object), 在向atl object中添加方法的时候出现如下问题:

1.只要添加的方法无参数, 一切ok, compile没有问题

2.只要方法带参数, 就会出现编译错误(我用的时char *类型的参数, 不知道是不是这个不合乎规范?)

错误信息如下:
d:\program files\microsoft visual studio\vc98\atl\include\atlcom.h(1827) : error C2259: 'CComObject<class Ctt>' : cannot instantiate abstract class due to following members:
d:\program files\microsoft visual studio\vc98\atl\include\atlcom.h(1823) : while compiling class-template member function 'long __stdcall ATL::CComCreator<class ATL::CComObject<class Ctt> >::CreateInstance(void *,const struct _GUID &,void **)'

望各位大侠不吝赐教~,谢谢
...全文
62 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lyqeast 2004-03-30
  • 打赏
  • 举报
回复
谢过, 结
ultralzl 2004-03-29
  • 打赏
  • 举报
回复
你可以先不填参数,等生成了后,再手工加参数,只需改3个地方,也挺简单的。char*最好改为BSTR,如上面所讲。
ExplorerOfVc 2004-03-27
  • 打赏
  • 举报
回复
要使用BSTR做参数,并且BSTR要用SysAllocString来申请
lyqeast 2004-03-27
  • 打赏
  • 举报
回复
up上来
lyqeast 2004-03-26
  • 打赏
  • 举报
回复
谢谢楼上的

只是, 如此以来, 外面该如何与该函数进行交互呢?

不好意思, 第一次用这东西, 问题比较菜, 还望赐教
bluebohe 2004-03-26
  • 打赏
  • 举报
回复
要使用BSTR做参数,并且BSTR要用SysAllocString来申请

3,245

社区成员

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

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