先谢了!

解决方案 »

  1.   

    根据输入的一维数组参数写SQL Server2000的组件!
      

  2.   

    你使用的动态编译的吧,使用静态编译一下,在ASP下面支持的一些文件在。NET下面就不支持
      

  3.   

    不用查看了,其实就是你在vc6下面做的组件,但.net下面,起需要的文件变成了vc7的文件,不兼容,所以,你从新使用静态编译一下你的组件就可以用
      

  4.   

    我用静态编译也没用,好象是传递参数的问题。我的调用如下:
    COM组件中属性如下:
    VRRIANT m_VarPZSJ;
    void CNewWritePZ::SetPZSJ(const VARIANT FAR newValue) 
    {
    if((newValue.vt&VT_ARRAY)==0)
    return;
    if((newValue.vt&VT_VARIANT)==0)
    return;
    if(newValue.vt&VT_BYREF)
    SafeArrayCopy(*(newValue.pparray),&m_VarPZSJ);
    else
    SafeArrayCopy(newValue.parray,&m_VarPZSJ);
    }
    然后用SafeArray方法得到各项的值。
    在VB.NET中用如下调用方法:
            Dim tt As New LiwSoft.NewWritePZ()
            Dim A(11)
            A(0) = "123"
            A(1) = "123"
            A(2) = "123"
            A(3) = "123"
            A(4) = "123"
            A(5) = "123"
            A(6) = "123"
            A(7) = "123"
            A(8) = "123"
            A(9) = "123"
            A(10) = "123"
            tt.PZSJ = A
    其中最後一行报错,说类型不匹配。用ASP调用是正确的。
      

  5.   

    是不是.net中类型定义的问题,我对于.net还没有使用过,