一个简单的COM问题!

sinhua_ren 2007-09-05 10:08:05
刚学COM,有些东西比较迷惑,现遇一问题望各位帮忙!

本人基于MFC做了一模块程序,现在想把它的功能打包到COM里,以便其它程序使用。

我的方法:
用Alt,在向导中选择"支持MFC"选项
问题:
类的某些方法需接受从其他程序传来的MFC数据类型:
interface ITest : IUnknown
{
[helpstring("method Draw")] HRESULT Draw([in]CDC* pDC,[in]CPoint* point);
};
如上,CDC,CPoint等,程序会不认这些类型
这种问题该怎么解决?

...全文
192 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
低头路过 2007-09-05
  • 打赏
  • 举报
回复
在ONPAINT()里面写就可以!
wy2001wy 2007-09-05
  • 打赏
  • 举报
回复
是IDL文件中不支持这种类型,如果你只用VC调用可以忽略这些警告,如果在其它的地方用就得改喽。
sinhua_ren 2007-09-05
  • 打赏
  • 举报
回复
ouyh12345(五岭散人):
CDC变量转换成HDC变量,CPoint变量转换成x、y坐标
[helpstring("method Draw")] HRESULT Draw([in]long hdc,[in]long x, [in]long y);


CPoint* 是CPoint数组指针
sinhua_ren 2007-09-05
  • 打赏
  • 举报
回复
提示错误:expecting a type specification near "CDC"
ouyh12345 2007-09-05
  • 打赏
  • 举报
回复
CDC变量转换成HDC变量,CPoint变量转换成x、y坐标
[helpstring("method Draw")] HRESULT Draw([in]long hdc,[in]long x, [in]long y);
kvls 2007-09-05
  • 打赏
  • 举报
回复
1.所谓的程序不认是什么意思?
2.IDL中发生不兼容的类型,应该只是警告而不是错误,可以不用管它
3.或者你就使用整型指针算了,在调用时转换到正确的类型指针即可

3,245

社区成员

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

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