Zustand einer bool'schen Variablen wird aus einem Modul nicht in eine neue Form übernommen, warum nicht?

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von billy5.

    Zustand einer bool'schen Variablen wird aus einem Modul nicht in eine neue Form übernommen, warum nicht?

    Hallo allerseits,

    in einem Modul definiere ich eine bool'sche Variable:

    Module1

    Public timerflag AS Boolean = False

    End Module


    In einer Form frage ich den Zustand des timerflag ab und erwarte FALSE, angezeigt mittels Label1 auf der Form. Ich erhalte aber TRUE.


    Public Class Form11_2

    Private Sub Form11_2_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    Label1.Text = Module1.timerflag.ToString

    Me.Show()

    End Sub

    ....
    End Class


    Mir ist nicht klar, warum der Zustand aus dem Modul1- ich will hier nicht von Wert sprechen - nicht übernommen wird. Bei anderen Variablen (z. B.) Integer-Variablen, werden deren Werte übernommen.
    Ich bitte um eure Hilfe zur Lösung des Probs.

    Gruß
    billy5
    Könnte es sein, dass du eine zweite LOKALE Variable gleichen Namens in deiner Form definiert hast ? Die würde dann die globale Variable aus dem Modul verbergen.

    Geh mit dem Cursor auf die Variable in deiner Form ... da wird angezeigt, wo die Variable herkommt ...
    @billy5 Die beiden Klassen funktionieren exkt so, wie es da steht.
    Das Me.Show() kannst Du ersatzlos löschen.
    Wenn Du das Flag änderst, musst Du allerdings die Anzeige refreshen.
    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!

    ###

    Zeig mal bitte Deinen Code, damit klar wird, was der funktionsunterschiedsrelevante Teil ist.

    billy5 schrieb:

    Module1
    Public timerflag AS Boolean = False
    End Module
    Das ist zumindest unvollständig, da Zeile 1 heißen müsste: Public Module Module1
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.