繁体   English   中英

为什么我的变量不设置为对象的实例?

[英]Why won't my variable set to an instance of an object?

该程序是度假租赁公司的预订系统(除其他外)。 我正在屏幕上工作,您可以在其中查看属性并对其进行修改或添加更多(等)

好的,所以在其他情况下也能正常工作,但是这只是不想接受...我希望这有点愚蠢。 基本上,在整个程序的初始加载中,我用相关信息填充了数据表,然后在需要时访问它们,在这种情况下,我在表单属性中,想要访问预订(在FrmBookings中进行),以查看何时该酒店接下来被预订以接待客人。

Dim Intcounter As Integer = 0
Dim NumberBookingRecords As Integer = BookingsNumRecs

Dim PropertyName As String
Dim PropertyFromBookings As String


Do

    PropertyName = DTProperties(Intcounter)("Property Name").ToString
    PropertyFromBookings = (DTBookings(NumberBookingRecords)("Property").ToString)

    If PropertyName = PropertyFromBookings Then

        lblDateOfArrival.Text = (DTBookings(NumberBookingRecords)("Arrival").ToString)
        Intcounter = Intcounter + 1

    Else

        If Not NumberBookingRecords = 0 Then

            NumberBookingRecords = NumberBookingRecords - 1

        Else

        End If

    End If


Loop Until Intcounter >= intNumPropertyRecs

但是,当我进入PropertyFromBookings = (DTBookings(NumberBookingRecords)("Property").ToString)它告诉我无法将其设置为对象的实例...无论我尝试从DTBookings访问什么,我都会得到同样的反应。

这是程序打开时的初始加载形式

Dim FSBookings As New FileStream(strFileNameBookings, FileMode.OpenOrCreate, FileAccess.Read)

Application.DoEvents()

If FileLen(strFileNameBookings) > 0 Then
    DTBookings.ReadXmlSchema(strFileNameBookings)
    DTBookings.ReadXml(strFileNameBookings)
    BookingsNumRecs = DTBookings.Rows.Count
    intCurrRec = 1
Else
End If

FSBookings.Close()
blnStopAuto = True
blnStopAuto = False

根据您的代码示例, DTBookings()是一个函数调用。 这里有两个可能性。 要么:

  1. 该函数的结果为Nothing ,并且当您尝试使用Nothing好像那里有一个实际对象时(在这种情况下,当您尝试查找("Property")索引器时),您将得到该异常,要么 ...
  2. (“ Property”)索引的结果返回Nothing,在这种情况下,当您尝试调用.ToString()方法时,将得到该异常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM