描述:
我在目的是在asp中调用C++写的com,调用如下
<%
Set Obj=Server.CreateObject("MyStudio1.MyComponent1")
j=Obj.my("2135")
Response.Write(j)
%>
我在MyStudio1 中定义的方法my,错误代码如下:
STDMETHODIMP MyComponent1::my(BSTR mun, BSTR *pRet)
{
return mun;
}
我看到其他网上的代码是return S_OK;看不懂,S_OK是什么,怎么反回我传入的mun啊?
我会一点vb,我的大致意思就是要传给my方法什么,就反回什么。j=Obj.my("123")
Response.Write(j) j就应改是123,应改怎么做啊 ?请高手指点啊。
解决方案1:
interface IMyComponent2 : IDispatch
{
[id(1), helpstring("method mymethod")] HRESULT mymethod([in] BSTR mun,[out,retval] BSTR *pRet);
};
=====================================
STDMETHODIMP MyComponent2::mymethod(BSTR mun, BSTR *pRet)
{
*pRet = num;
return S_OK;//编议时这行有错
}
就可以了
S_OK 是一个常量
函数正确执行返回AS_OK
就用参数返回吧