aivilon
Goto Top

Vb.net - Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt

Hallo Zusammen

Folgender Code ergibt bei mir die im Titel genannte Fehlermeldung (Nur beim Ausführen).

    Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click
        Dim Mistake As String = Nothing
        Try
            Dim troll As String = fbd.SelectedPath
            Directory.SetCurrentDirectory(troll)
        Catch ex As System.IO.DirectoryNotFoundException
            Mistake = "moep"  
        End Try

        If Not ListView1.Items.Contains(Nothing) And Mistake = Nothing Then
            Me.DialogResult = System.Windows.Forms.DialogResult.OK
            Me.Close()
        Else
            MessageBox.Show("Fehler, kein Ordner ausgewählt!", "Fehler!", MessageBoxButtons.OK, MessageBoxIcon.Error)  
        End If
    End Sub

den Try habe ich eingefügt, da ich davor in der If Schleife einen Fehler bekam (wegen dem DirectoryNotFoundException. Mit Try konnte ich dieses Problem umgehen und es hat trotzdem die selbe wirkung).

Was läuft falsch?
Kann mir da wer helfen?

Grüsse
aivilon

Content-ID: 184819

Url: https://administrator.de/contentid/184819

Ausgedruckt am: 18.11.2024 um 03:11 Uhr

mak-xxl
mak-xxl 10.05.2012 um 18:04:37 Uhr
Goto Top
Moin Pascal,

füge mal zwischen Zeile 4 und 5 eine MessageBox ein und lasse Dir den Inhalt der Variable 'troll' anzeigen - dort sollte das Verzeichnis drinstehen. Kontrolliere, wann das in Zeile 4 verwendete Object 'fbd' gesetzt wird. Ebenso kontrollieren solltest Du den verwendeten Index der Listbox sowie deren evtl. Projektverweis. Eine MessageBox bringt auch hier einen Eintrag zur Anzeige.

Freundliche Grüße von der Insel - Mario
aivilon
aivilon 11.05.2012 um 08:27:00 Uhr
Goto Top
Salü mak-xxl

Sorry hab eine Zeile vergessen zu Posten. Vor diesem Sub steht die Zeile:
Public fbd As New System.Windows.Forms.FolderBrowserDialog

Ich habe zwischen Zeile 4 und 5 eine MessageBox eingefügt. Diese Zeigt den Korrekten Pfad.
Am Try selber kann es nicht liegen. Ich habe mal nach Zeile 5 folgendes eingefügt:
            If Not troll = Nothing Then
                Exit Try
            End If

Da die Variable Troll ja auch was gesetzt hat, ist die danach auch noch vorhanden und könnte
weiterverwendet werden... face-confused
mak-xxl
mak-xxl 11.05.2012 um 08:42:25 Uhr
Goto Top
Moin Pascal,

da ich davor in der If Schleife einen Fehler bekam (wegen dem DirectoryNotFoundException.

Das Verzeichnis existiert? Der Fehler tritt in welcher Stelle (Zeile) des If-Konstruktes auf? Ansonsten siehe restliche Hinweise oben.

Freundliche Grüße von der Insel - Mario
aivilon
aivilon 11.05.2012 um 09:29:51 Uhr
Goto Top
Ja das Verzeichnis existiert. Auch Daten sind darin vorhanden.
Der Fehler tritt gleich in der ersten Zeile der If-Schleife auf:
 If Not ListView1.Items.Contains(Nothing) And Mistake = Nothing Then 
aivilon
aivilon 11.05.2012 um 10:14:31 Uhr
Goto Top
Hossaaa

Hab die Lösung:
  If Not ListView1.Items.Count = 0 And Mistake = Nothing Then 

Er zählt jetzt einfach die Objekte, und wenn keines Vorhanden ist gibt er die Fehlermeldung aus.

Danke für die Unterstützung

Grüsse
Pascal