用atl写dll,method中return type及[out retval]参数选项怎么是灰的?
return type里填的是HRESULT,是灰的,根本没法改变。
参数里只有in选项框可用,out与retval都是灰的?
要求用atl写一个dll,实现一些方法,如输入两个整数,返回经过一些运算的结果,如加法。int add(int a, int b)
{
return a+b;
}可是在增加method过程中,发现return type是灰的,参数里out及retval也不可用。
(由于接口定义时要求返回运算结果,而不是传入指针参数,所以不好用HRESULT add(int a, int b, int* res))有什么办法吗?
return type里填的是HRESULT,是灰的,根本没法改变。
参数里只有in选项框可用,out与retval都是灰的?
要求用atl写一个dll,实现一些方法,如输入两个整数,返回经过一些运算的结果,如加法。int add(int a, int b)
{
return a+b;
}可是在增加method过程中,发现return type是灰的,参数里out及retval也不可用。
(由于接口定义时要求返回运算结果,而不是传入指针参数,所以不好用HRESULT add(int a, int b, int* res))有什么办法吗?
因为你的类型不是指针,只有是指针类型,才能用[out retval],
HRESULT add(int a, int b,int * ret)学ATL前,最好了解一下COM标准。当你用VB或者其它脚本语言的调用的时候就可以这样写ret=obj.add(1,2)
因为你的类型不是指针,只有是指针类型,才能用[out retval],
HRESULT add(int a, int b,int * ret)学ATL前,最好了解一下COM标准。当你用VB或者其它脚本语言的调用的时候就可以这样写ret=obj.add(1,2)
因为你的类型不是指针,只有是指针类型,才能用[out retval]
HRESULT add(int a, int b,int * ret)学ATL前,最好了解一下COM标准。当你用VB或者其它脚本语言的调用的时候就可以这样写ret=obj.add(1,2)
HRESULT add( int a,int b,[out,retval]int* res );参数选择int*就可以选择out retval了
哪位能推荐一下么?
之前我一直都是用MFC写。
电子书更好。