Сообщение об ошибке «Использование нового ключевого слова для создания экземпляра объекта» - PullRequest
1 голос
/ 18 апреля 2011

Я получаю сообщение об ошибке на ArrayGroup(count).dateDate = valueListString(0), не знаю, что не так с кодом ниже, пожалуйста, помогите.

Structure dataAttribute
    Dim dateDate As Date
    Dim timeString As String
    Dim volString As String
    Dim openString As String
    Dim closeString As String
    Dim minString As String
    Dim maxString As String
End Structure

Private ArrayGroup() As dataAttribute

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)     Handles Button1.Click
    Dim currencyString As String
    Dim valueListString() As String

    currencyString = dataTextFieldParser.ReadToEnd
    RichTextBox1.Text = currencyString

    strArr = currencyString.Split(Environment.NewLine)

    For count = 1 To strArr.Length - 1
        valueListString = strArr(count).Split(";")

        ArrayGroup(count).dateDate = valueListString(0)
        ArrayGroup(count).timeString = valueListString(1)
    Next


End Sub

Ответы [ 3 ]

0 голосов
/ 18 апреля 2011

Не похоже, что вы измерили свой массив:

Попробуйте

ReDim ArrayGroup (0)

Посмотрите на ReDim и ReDim Preserve

Private ArrayGroup() As dataAttribute

Просто объявляет, что ArrayGroup является массивом типа dataAttribute, но не указывает, сколько в нем членов.

0 голосов
/ 18 апреля 2011

ArrayGroup - это Nothing.

линия

Private ArrayGroup() As dataAttribute

не присваивает значение ArrayGroup, поэтому оно не создается, и вы получите нормальное значение с ошибкой блока при попытке его использовать.

вы, вероятно, хотите изменить конец вашей функции на что-то вроде.

    Redim ArrayGroup(strArr.Length - 1) As dataAttribute


    For count = 1 To strArr.Length - 1
         valueListString = strArr(count).Split(";")

          ArrayGroup(count).dateDate = valueListString(0)         
          ArrayGroup(count).timeString = valueListString(1)     
    Next
End Sub 

Обратите внимание на ReDim. Я не уверен, если вам нужен As.

0 голосов
/ 18 апреля 2011

ArrayGroup, вероятно, действительно содержит элементы.

поэтому перед строкой ArrayGroup(count).dateDate = valueListString(0) попробуйте добавить в массив

ArrayGroup(count) = New ... what ever type should be in the array...
...