Structure中定义的数组,为什么在使用时为Nothing   
   Structure Dll_list
        Dim ncomp As Long
        Dim feed() As Double
        Dim t As Double
        Dim p As Double
   End Structure Function gmps_AirPropertyH2O(ByVal t As Double, ByVal p As Double, ByVal xH2O As Double, ByVal xN2 As Double, ByVal xO2 As Double, ByVal xAr As Double) As Object        Dim GMPS As Dll_list = New Dll_list
        
        GMPS.t = t
        GMPS.p = p
        GMPS.ncomp = 4
        GMPS.feed(1) = xN2
        GMPS.feed(2) = xAr
        GMPS.feed(3) = xO2
        GMPS.feed(4) = xH2OEnd FunctionGMPS.feed(1)到feed(4)的值都为nothing,不是不要先赋初值?怎么赋?

解决方案 »

  1.   

    动态数组,要先
    redim 
      

  2.   

    未初始化的可变数组,要这样Function gmps_AirPropertyH2O(ByVal t As Double, ByVal p As Double, ByVal xH2O As Double, ByVal xN2 As Double, ByVal xO2 As Double, ByVal xAr As Double) As Object        Dim GMPS As Dll_list = New Dll_list
            ReDim GMPS.feed(4)  '加上这句试试
            GMPS.t = t
            GMPS.p = p
            GMPS.ncomp = 4
            GMPS.feed(1) = xN2
            GMPS.feed(2) = xAr
            GMPS.feed(3) = xO2
            GMPS.feed(4) = xH2OEnd Function
      

  3.   

    看楼主的用法,直接
    Structure Dll_list
            Dim ncomp As Long
            Dim feed(4) As Double
            Dim t As Double
            Dim p As Double
       End Structure
      

  4.   

    Dim feed(1 to 4) As Double 
    或Dim feed(3) As Double 
    redim同dim