在ASP.NET中这样调用:
Dim obj As Object
obj = CreateObject("LiwSoft.Test")
Dim A(2)
Dim msgPZ As String
A(0) = "1234"
A(1) = "4321"
obj.PZSJ = A
obj = nothing
以上代码工作正常,但如果采用添加引用的方法即:
Dim obj As New LiwSoft.TestClass()
其余代码相同,则会出现远程调用错误!
我的VC代码如下:
void CNewWritePZ::SetPZSJ(const VARIANT FAR& newValue)
{
VARIANT m_varPZSJ[2];
if((newValue.vt&VT_ARRAY)==0)
return;
if((newValue.vt&VT_VARIANT)==0)
return;
if(newValue.vt&VT_BYREF)
{
for(long i=0;i<2;i++)
SafeArrayGetElement(*(newValue.pparray),&i,&m_VarPZSJ[i]);
}
else
{
for(long i=0;i<2;i++)
SafeArrayGetElement(newValue.parray,&i,&m_VarPZSJ[i]);
}
}
在用引用方式调用时,得不到正确的值。请指点!
Dim obj As Object
obj = CreateObject("LiwSoft.Test")
Dim A(2)
Dim msgPZ As String
A(0) = "1234"
A(1) = "4321"
obj.PZSJ = A
obj = nothing
以上代码工作正常,但如果采用添加引用的方法即:
Dim obj As New LiwSoft.TestClass()
其余代码相同,则会出现远程调用错误!
我的VC代码如下:
void CNewWritePZ::SetPZSJ(const VARIANT FAR& newValue)
{
VARIANT m_varPZSJ[2];
if((newValue.vt&VT_ARRAY)==0)
return;
if((newValue.vt&VT_VARIANT)==0)
return;
if(newValue.vt&VT_BYREF)
{
for(long i=0;i<2;i++)
SafeArrayGetElement(*(newValue.pparray),&i,&m_VarPZSJ[i]);
}
else
{
for(long i=0;i<2;i++)
SafeArrayGetElement(newValue.parray,&i,&m_VarPZSJ[i]);
}
}
在用引用方式调用时,得不到正确的值。请指点!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货