Visual Basic, Ouverture d'un fichier, qu'est-ce qui ne va pas avec mon code?
-
20-08-2019 - |
Question
Le "lecteur" dans l'instruction if indique & "L'expression n'est pas une méthode &"; qu'est-ce que je fais de travers?
Merci
Dim reader As New CSVReader
OpenFileDialog2.Filter = "CSV File (*.csv)|*.csv"
OpenFileDialog2.RestoreDirectory = True
If OpenFileDialog2.ShowDialog() = DialogResult.OK Then
reader(OpenFileDialog2.FileName)
reader.DisplayResults(DataGridView1)
'Return OpenFileDialog2.FileName
Else
End If
J'ai simplement déplacé le Dim et cela a fonctionné.
OpenFileDialog2.InitialDirectory = "a:"
OpenFileDialog2.Filter = "CSV File (*.csv)|*.csv"
OpenFileDialog2.RestoreDirectory = True
If OpenFileDialog2.ShowDialog() = DialogResult.OK Then
Dim reader As New CSVReader(OpenFileDialog2.FileName)
reader.DisplayResults(DataGridView1)
'Return OpenFileDialog2.FileName
Else
End If
Merci
La solution
Sur cette ligne:
reader(OpenFileDialog2.FileName)
Vous essayez d'appeler un constructeur sur un objet déjà construit. Ce n'est pas possible, donc le compilateur VB interprète cela comme si vous tentiez d'appeler l'objet de lecteur comme s'il s'agissait d'une fonction.
Ne déclarez pas le lecteur tant que vous n'avez pas le nom du fichier, afin de pouvoir le transmettre au constructeur lors de sa construction, comme ceci
OpenFileDialog2.Filter = "CSV File (*.csv)|*.csv"
OpenFileDialog2.RestoreDirectory = True
If OpenFileDialog2.ShowDialog() = DialogResult.OK Then
Dim reader As New CSVReader(OpenFileDialog2.FileName)
reader.DisplayResults(DataGridView1)
'Return OpenFileDialog2.FileName
Else
End If
Autres conseils
Vous avez oublié le nom de la méthode dans reader(OpenFileDialog2.FileName)
.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow