这个ATL的问题讨论了很久都没有人能解决,是不是微软产品的BUG??? 这个ATL的问题讨论了很久都没有人能解决,是不是微软产品的BUG???很多参与讨论的人都没有仔细看过和测试过我贴出的内容,而且好像他们都没有做过同类的问题(有点奇怪,因为这个问题并不少见啊),因此他们的建议很少是有效的。所以请各位先看清楚我贴出的代码,并且编译和调试一下,再给我一个答案http://expert.csdn.net/Expert/topic/1423/1423793.xml?temp=.6786005 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 看过了你的问题,由于你的接口是自动化接口,采用的是类型调度,在这种情况下,long*是不能作为in参数的。解决这个问题,你可以采用VARIANT,或者不采用自动化接口。interface _IaaaEvents : IUnknown{ HRESULT test([in,out, size_is(4)] long *p);};试试吧,应该可以的。 to arxing(阿行):为什么在vb中很容易就搞定,而在vc中只能采用VARIANT?vb不是基于COM 的吗? VB是傻瓜式的,当然什么都好弄。但是它的功能有限,只能采用类型库调度,你试试跨公寓,跨进程,甚至跨机器传递参数?这时候你就发现VC才是无所不能的。by the way,我上面写错了,应该是 HRESULT test([in,out, size_is(1)] long *p); size_is是表示数据的元素,而不是大小。 写错了,size_is是数组元素的个数。 我基本上从来不用VB,除了偶尔写一两句ASP外。但是不管你用VB写了什么的类型库,我都可以原封不动用VC写一个出来。不信试试吧。 to arxing(阿行):我试过你的方法,还是不行。你可否给你的email或msn给我,我把我的代码传给你看看,我的代码其实也是很简单的几句,但就是调不通。 to george2000(george) :请看http://expert.csdn.net/Expert/topic/1423/1423793.xml?temp=.6786005 以下需求大概要怎么实现 VC调VC 动态库的问题请大侠们帮我看看! 数字图像问题,请求帮助 非常头疼的问题,不点鼠标要弹出菜单! 会用Xtreme Toolkit的兄弟进来~! 请教数据库操作问题 问大家个关于密码验证的问题 怎么往“状态条”上写信息? 我的那个vc好像不能改为release,由debug改为release后但是再看属性还是debug,还有…… 新手!请教一个快捷键的问题 如何在窗体生成后自动执行某些语句? 请zwvista(球迷程序员)领分,关于属性单加最小化按钮你说得没错,是我粗心了
解决这个问题,你可以采用VARIANT,或者不采用自动化接口。
interface _IaaaEvents : IUnknown
{
HRESULT test([in,out, size_is(4)] long *p);
};
试试吧,应该可以的。
为什么在vb中很容易就搞定,而在vc中只能采用VARIANT?vb不是基于COM 的吗?
by the way,我上面写错了,应该是 HRESULT test([in,out, size_is(1)] long *p); size_is是表示数据的元素,而不是大小。
我试过你的方法,还是不行。
你可否给你的email或msn给我,我把我的代码传给你看看,我的代码其实也是很简单的几句,但就是调不通。
请看http://expert.csdn.net/Expert/topic/1423/1423793.xml?temp=.6786005