Fehler: Die Objektvariable oder die With-Blockvariable wurde nicht festgelegt

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Maltur.

    Fehler: Die Objektvariable oder die With-Blockvariable wurde nicht festgelegt

    Hallo zusammen,

    ich habe in meiner Tabelle eine Spalte mit Ganzgahlen (z. B. 15), nun soll in eine Combobox 15 Items erstellt werden (1 - 15).
    Das alles funktioniert auch ganz gut während der Laufzeit. Wenn ich aber das Programm beende, spuckt er die Fehlermeldung aus (Die Objektvariable oder die With-Blockvariable wurde nicht festgelegt).
    Ich hoffe, ihr könnt mir da weiterhelfen.


    Quellcode

    1. Dim x As Integer = MesswertBindingSource.Current("xAchse") '/// Hier wird der Fehler angezeigt!
    2. With CboNeuBearbeitenMesswert
    3. .Items.Clear()
    4. For i = 0 To x - 1
    5. .Items.Add("Wert " & i + 1)
    6. Next
    7. .SelectedIndex = 0
    8. End With



    Viele Grüße
    @Maltur Die Meldung passt aber eher zur Zeile danach:

    VB.NET-Quellcode

    1. With CboNeuBearbeitenMesswert
    Was ist MesswertBindingSource?
    Setz mal einen Haltepunkt auf Zeile 1 und überzeuge Dich davon, dass die Instanz vorhanden ist und diese Zeile abgearbeitet wird.
    Debuggen, Fehler finden und beseitigen
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    So nebenbei. Diese „With“ Geschichte ist aus meiner Sicht ein riesen mist. Man kann nämlich beim Debuggen nicht mehr per Mouseover sehen welchen wert die Properties (hier z.b. SelectedIndex) haben. Heißt man behindert sich selbst...
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Hallo, danke für eure Antworten, ich habe das alles versucht wie ihr es empfohlen habt, habe es auch ohne "with" geschrieben. Ich habe sogar alles gelöscht und nur die besagte Zeile drin gelassen. Leider ist das Problem immer noch da.

    Ich kann leider mit diesem Fehler nicht viel anfangen.

    Dieser Code wird ausgeführt, wenn sich der Index einer Combobox ändert.

    Maltur schrieb:

    Leider ist das Problem immer noch da.
    Was ist MesswertBindingSource?
    Was ist CboNeuBearbeitenMesswert?
    Was kommt hierbei raus:

    RodFromGermany schrieb:

    Setz mal einen Haltepunkt auf Zeile 1

    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Da wird mal wieder Strict Off programmiert, das erschwert die Fehlersuche.

    Dringende Empfehlung: Visual Studio - Empfohlene Einstellungen
    richte dein VisualStudio so ein, dass vb.net eine objektorientierte Sprache ist.

    Zum konkreten Problem: Meine Vermutung ist, dass entweder MesswertBindingSource.Current Nothing ist oder dass die Spalte xAchse in der BindingSource nicht existiert.
    Ein paar Techniken zum Debuggen kannste hier angugge: VisualStudio richtig nutzen (Google ist nicht deine Mami)

    Benütze das Local-Fenster um nachzugucken, was mit MesswertBindingSource.Current los ist.
    Hallo zusammen,

    ich habe das Problem gefunden und behoben. Ich weiß nicht, warum ich dachte, dass es so sein muss aber es war "MesswertBindingSource" daran schuld, das habe ich gar nicht gebraucht.

    @ErfinderDesRades
    vielen lieben Dank, ich habe mir das Video und auch Visual Studio
    richtig nutzen angeschaut, war sehr hilfreich.

    Viele Grüße