morgred
morgred

Reputation: 1117

Visual basic string issues

Every time i try to attribute any type of string to this i get Object reference not set to an instance of an object. I have tried every combination of possible way to handle the string, convert it to a string again and all the fuzz. It's very frustrating and i guess it's some kind of base principle of the structure/class usage and the string array or whatnot (which is also very dumb)

Private Class movie
    Public name As String
    Public actors As String
    Public year As Integer
    Public country As String
    Public votes As Integer

End Class

Private movies() As movie

If File.Exists(OpenFileDialog1.FileName) Then

        lblPath.Text = OpenFileDialog1.FileName
        Dim iFile As New StreamReader(lblPath.Text)

        While Not iFile.EndOfStream

            current = iFile.ReadLine

            movies(i).name = "sasasasa"

            lbMovies.Items.Add(movies(i).name)
            i = i + 1

        End While
    End If

these are the code parts where i use it

Upvotes: 2

Views: 216

Answers (1)

IInspectable
IInspectable

Reputation: 51511

You are creating an empty array of movie objects, as was pointed out previously. Consequently movies(i) is Nothing. When you try to access a member (movies(i).name) the appropriate exception is generated. Note that your code does not even reach the assignment operator = but fails prior to that. In other words, this has nothing to do with strings altogether; you will get the same error if you write movies(i).votes = 42 instead. To fix your code you will first have to create a movie object, populate it and append it to your array.

Upvotes: 3

Related Questions