NullReferenceException beim Ansprechen vom Array in VB.NET

I

its-a-me

Da stehe ich vor einem so trivialen Problem und komme einfach nicht weiter! Ich habe es anscheinend nicht so mit Arrays, denn ich entdecke den Fehler einfach nicht!

Ich möchte jedes Laufwerk mit einem FileSystemWatcher "überwachen", deswegen deklariere ich erstmal ein Array:

Dim FSWatcher(My.Computer.FileSystem.Drives.Count - 1) As FileSystemWatcher

Wenn ich jetzt den Filter mit " FSWatcher(0).Filter = "" " einstellen will, folgt auch schon die NullReferenceException während der Ausführung. Ich soll zur Fehlerbehebung mit "New" instanzieren, nur das geht dummerweise bei Arrays nicht. (wieso eigentlich?)
Was mache ich falsch?
 
Hi

Du hast erstmal nur ein Array deklariert!
Diese ist weder instaniiert noch haben die einzelnen Felder im Array Instanzen! ;)
 
Danke für die Hilfe! Nur, wie mache ich das :)? Ich habe es früher schon nicht kapiert und kapiere es jetzt immer noch nicht, wo ich lange Zeit nicht mehr programmiert habe...
Es fällt mir nämlich immernoch schwer, den Begriff "Instanz" oder "instanzieren" in der Informatik richtig einzuordnen. Und warum geht es beim Stringarray auch ohne?

Dim a(1) As String
a(1) = "abc"

Hierbei tritt kein Fehler auf.
Danke schonmal im Vorraus für die Hilfe!
 
Hi

Code:
Dim a(1) As String
a(1) = "abc"
Das funktioniert, da "abc" bereits eine String-Instanz ist, die du dem Feld a(1) zuweist.
Du musst also jedes Feld erst instaniieren (Achtung, könnten Syntaxfehler drin sein, bin kein VBler ;) )
Code:
Dim a(2) As FileSystemWatcher
a(0) = New FileSystemWatcher
a(1) = New FileSystemWatcher
 
Die Lösung meines Problems! :D Ich wusste, dass es igrendwas blödes war...
Danke für die Hilfe! Der Code ist übrigens Fehlerfrei ;-)
 

Neue Beiträge

Zurück