Reputation: 1117
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
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