Initialisierung von Variablen in Modulen und Formen (Reihenfolge)

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Initialisierung von Variablen in Modulen und Formen (Reihenfolge)

    Hallo,

    erstmal mein Aufbau: Ich habe Variablen die häufig und Global, Formunabhängig verwendet werden müssen in einem Modul ausgelagert.

    Beim laden der ersten Form treten aber Probleme mit den Pfaden (in der Variablen abgelegt) auf, ich verstehe die Reihenfolge nicht in der die Form und das Modul "geladen" werden.


    Ist meine Vorgehensweise völlig idiotisch, oder kann mir jemand mit der aktuell vorhandenen Struktur weiterhelfen?

    Dasive schrieb:

    Beim laden der ersten Form treten aber Probleme mit den Pfaden (in der Variablen abgelegt) auf, ich verstehe die Reihenfolge nicht in der die Form und das Modul "geladen" werden.

    hmm, könntest Du ein (möglichst einfaches) Beispiel machen, was Dein Problem ist ?

    Da das Modul ja als 'Shared' Klasse aufzufassen ist, gilt hier vermutlich auch das gleiche wie für Shared Konstruktoren. Hier gilt: der Konstruktor wird ausgeführt (=Laden), bevor (oft genau dann) auf das erste Shared Member zugegriffen wird. Wenn Du also das Laden erzwingen willst, ruf eine Property des Modules ab.

    Genaueres unter -> Shared Konstruktoren
    @Kangaroo:
    "Danke, hat mein Wissen darüber erweitert und ich verstehe die "unsichtbaren" Vorgänge nun ein wenig besser."


    @joscha999:
    "Solche Regionen waren mir bisher unbekannt, ich werde alles zurückversetzen und in eine Region stecken, danke."

    Dasive schrieb:

    "Solche Regionen waren mir bisher unbekannt, ich werde alles zurückversetzen und in eine Region stecken, danke."

    Vielleicht solltest Du noch mit dem 'zurückversetzen' warten ...

    Variablen in Modulen können 'global' in Deiner Anwendung angesprochen werden, d.h. sie müssen nirgendwo übergeben werden um verfügbar zu sein. Das Gleiche kannst Du mit Shared Properties einer x-beliebigen Klasse machen ....

    Regions machen was ganz anderes: sie erlauben Dir im Code-Editor Deinen Code gruppenweise ein- oder auszuklappen: nützlich zur optischen Strukturierung Deines Codes , aber evtl ganz was Du suchst.

    Deine Start - Form wird übrigens von Code erzeugt, der vom Compiler im Hintergrund anelegt wird. Wenn Du den Zeitpunkt seölber bestimmen willst , oder garkeine Form erzeugen möchtest (nur Notify-Icon), dann startest Du Deine Anwendung über eine Sub MAIN.

    Ich glaube die Regionen sind schon eine Lösung, es geht mir ja hauptsächlich um übersichtliche Strukturierung des Codes, die Variablen könnte ich ja an beinahe jede beliebige Stelle schreiben, die Funktion bleibt erhalten.
    Die Regionen dienen der optischen Strukturierung des Quelltextes, sie haben mit dem Programmablauf und einer Initialisierungsreihenfolge nichts zu tun.
    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!