Wie Hintergrundprozesses ansteurn/programmieren?

  • VB.NET

Es gibt 59 Antworten in diesem Thema. Der letzte Beitrag () ist von egon.

    Ich knöpf mir erstmal deine Vorstellung von "Verstärker" vor:

    egon schrieb:


    Jeder Verstärker hat die Eigenschaften:
    1. Name (String)
    2. Gesamtmessung gültig (Boolean)
    3. Anzahl der Messpunkte
    4. Name der Vergleichsrauschquelle
    5. Datum und Uhrzeit und Dauer des gesamten Messvorgangs (String)
    6. Benutzerhinweise zum Verstärker (String)
    7. Und ganz vielen Messpunkte mit X- und Y-Werten und weiteren Informationen (siehe unten)
    8. ?
    Hier mischst du Verstärker, Messvorgang und Rauschquelle zusammen, das geht nicht. Korrekter wäre vmtl:

    Verstaerker
    Name
    BenutzungsHinweise

    Rauschquelle
    Name

    Messvorgang
    Verweis auf einen Verstärker
    Verweis auf eine Rauschquelle
    Datum und Uhrzeit
    Messungen (einige)

    Messung
    Verstärker-Einstellung
    Rauschquellen-Einstellung
    Ergebnis (viele Datenpunkte)

    etwa in der Art.
    Also hiermit wäre modelliert: ein Messvorgang verknüpft eine Rauschquelle mit einem Verstärker, und erstellt dann viele Messungen, und jede Messung wiederum hat als Ergebnis viele Datenpunkte.
    Insgesamt wäre ein Stammdatenbestand von Verstärkern und Rauschquellen aufzubauen, und darauf wächst quasi der eigliche Datenbestand an Messvorgängen mit jeweils Messungen und Ergebnissen.

    Dein post ist ja noch länger, und enthält noch weitere Begriffe, von denen ich nicht sicher bin, ob ihre Bedeutung sich klar unterscheidet oder überlappt:
    Messung, Messpunkt, FrequenzPunkt, Relay
    Hmmm, ich dachte, dass ich eine sinnvolle Logik gefunden habe. Über deinen Vorschlag muss ich noch nachdenken - auf den ersten Blick leuchtet er mir noch vollständig nicht ein. Ich werde nun erst einmal die Begriffe überarbeiten (und erklären), damit es eindeutiger und klarer wird. Melde mich, wenn ich soweit bin.
    Puh, da kommen doch die Gehirnwindungen zum Kochen, da diese Art zu denken neu ist... Hoffentlich wird es nun etwas besser.
    Ich komme leider nicht mit weniger Text aus...

    Begriffsklärung
    - Messpunkt oder Datenpunkt: Zu einem Messpunkt gehört als X-Wert die Frequenz und als Y1-Wert die Rauschmaß (das ist der physikalische Begriff) und als Y2-Wert die Verstärkung des Verstärkers. Die Hinweise „für jeden Messpunkt“ oder „für jede Frequenz“ sind synonym zu verstehen, da der X-Wert (die Frequenz) vorgegeben wird und die Y-Komponente gemessen wird
    - Gesamtmessung oder Messreihe: Meint alle Messungen über alle X-Werte eines Verstärkers, die später eine Kurve im Diagramm ergibt
    - Einzelmessung: Meint die Messung für einen X-Wert. Eine Einzelmessung besteht aus den vier Teilmessungen (abhängig von der Relaystellung) [Hier fällt mir kein besseres Wort ein]
    In der Klasse „Messwerte“ werden auch die Teilmessungen mit abgelegt, damit es möglich wird eine nachträgliche Berechnung durchführen zu können. Der Original-Datenbestand bleibt so erhalten.

    Klasse Messwerte
    Die Klasse „Messwerte“ kann von den anderen Klassen eingebunden werden.
    In der Klasse “Rauschquelle“ beinhaltet es die Wert der Rauschquelle. Verwendet werden dann XValues() und YValues()
    In der Klasse “Verstärker” beinhaltet es die Wert des Verstärkers XValues() und YValues() und YValues_gain() und die Teilmessungen 1-4
    In der Klasse „Diagramm“ werden wiederum andere Eigenschaften verwendet

    VB.NET-Quellcode

    1. Public Class Messwerte
    2. Public XValues() As Double 'Frequenzwert
    3. Public XValues_Anzeige() As Double 'Frequenzwert aufbereitet für die Anzeige in Hz, kHz oder MHz
    4. Public YValues() As Double ' Rauschzahl (bei einer Messung) oder ENR (bei einer Rauschquelle)
    5. Public YValues_Anzeige() As Double
    6. Public YValues_Teilmessung1() As Double
    7. Public YValues_Teilmessung2() As Double
    8. Public YValues_Teilmessung3() As Double
    9. Public YValues_Teilmessung4() As Double
    10. Public YValues_gain() As Double ' Verstärkung (bei einer Messung) - bei der Rauschquelle wird diese Eigenschaft nicht verwendet
    11. Public YValues_gain_Anzeige() As Double
    12. End Class

    Besser und übersichtlicher finde ich es, wenn die Klasse Messwerte aufgebläht wird:

    VB.NET-Quellcode

    1. Public Class Messwerte
    2. Public XValues_freq() As Double 'Frequenzwert
    3. Public XValues_freq_Anzeige() As Double 'Frequenzwert aufbereitet für die Anzeige in Hz, kHz oder MHz
    4. Public YValues_NF() As Double ' Rauschzahl (bei einer Messung) oder ENR (bei einer Rauschquelle)
    5. Public YValues_NF_Anzeige() As Double
    6. Public YValues_NF_Part1() As Double
    7. Public YValues_NF_Part2() As Double
    8. Public YValues_NF_Part3() As Double
    9. Public YValues_NF_Part4() As Double
    10. Public YValues_ENR() As Double ‘ Stärke der Rauschquelle
    11. Public YValues_gain() As Double ' Verstärkung (bei einer Messung)
    12. Public YValues_gain_Anzeige() As Double
    13. End Class

    Oder soll ich besser mehrere Klassen für die unterschiedlichen Datenpunkte schaffen.

    Klasse „Rauschquelle“
    - Name
    - Hinweise
    - Klasse „Messwerte“ mit viele Messpunkte mit X-Werten (Frequenz) und Y-Werten (Wert für die Stärke der Rauschquelle– physikalischer Begriff ENR). Leider sind die Rauschquellen nicht konstant über den gesamten Frequenzbereich. Diese Messpunkte (die X-Werte) müssen nicht unbedingt mit den X-Werten der Messung übereinstimmen. In dem Fall muss dann interpoliert werden.
    - Funktion ENR_Quelle(frequenz as decimal) Rückgabewert_ENR_der_Quelle_für_diese_Frequenz as double
    Die Funktion berechnet aus der Frequenz die Stärke der Rauschquelle (ENR). Dieser Wert wird zur Berechnung der Ergebnisse einer Einzelmessung (für einen X-Wert) des Verstärkers benötigt.

    Klasse „Verstärker“ oder vielleicht doch besser einfach nur „Messreihe“
    Für das Programm reicht die Vereinfachung, dass zu jedem Verstärker nur eine Messreihe/Gesamtmessung gehört. Im Diagram können bis zu 7 Kurven mit Messungen dargestellt werden. Ich schlage vor, dass sie im Programmablauf als unterschiedliche Verstärker interpretiert werden. Das macht es für mich weniger komplex und für das Programm reicht es aus . Vielleicht sollte die Klasse dann besser „Messreihe“ heißen
    - Name (String)
    - Benutzerhinweise zum Verstärker (String)
    - Wird eingebunden: Klasse „Messvorgang“
    Warum wird an dieser Stelle zwischen Messreihe und Messung getrennt. Kann man das nicht auch zusammenlegen? Ich bekomme einen Knoten im Hirn, wenn ich es trennen soll ;(

    Klasse „Messung“
    - Anzahl der Messpunkte
    - Einzelmessung gültig (Boolean)
    - Gesamtmessung gültig (Boolean)
    - Wird eingebunden: Klasse „Messwerte“

    Klasse „Messvorgang“
    Hier wird die Durchführung einer Messreihe (also Messung über alle X-Werte) gesteuert.
    Der „Messvorgang“ verknüpft eine Rauschquelle mit einem Verstärker, und füllt die Klasse „Messung“ mit Datenpunkten – also zu den X-Werten die Y-Werte. Hier ist mir noch nicht klar, wie diese Verknüpfung aussieht. Dies ist also noch meine Schwachstelle.
    - Verweis auf eine Rauschquelle
    - Datum und Uhrzeit und Dauer des gesamten Messvorgangs (String)
    - Wird eingebunden Klasse „Messung“
    - An welcher Stelle befinde ich mich innerhalb des Messablaufes eines Frequenzpunktes (Integer)
    - An welcher Stelle befinde ich mich innerhalb der Gesamtmessung (bei welchem Frequenzpunkt (Integer)
    - … und natürlich der gesamte Messablauf und die Berechnung, den ich hier wegen der Übersichtlichkeit nicht noch einmal mit aufnehme. Hier ist vermutlich dann auch eine Relay-Klasse sinnvoll.
    + Routinen für die eigentliche Messung
    + Routine für die Berechnung

    Eine weitere Schwachstelle, ist der Umgang mit Klassen. Z.B. wenn mehrere Klassen miteinander verknüpft werden sollen. Das wird noch spannend.

    egon schrieb:

    Klasse „Verstärker“ oder vielleicht doch besser einfach nur „Messreihe“
    - Name (String)
    - Benutzerhinweise zum Verstärker (String)
    - Wird eingebunden: Klasse „Messvorgang“
    Warum wird an dieser Stelle zwischen Messreihe und Messung getrennt. Kann man das nicht auch zusammenlegen? Ich bekomme einen Knoten im Hirn, wenn ich es trennen soll

    Klasse „Messung“
    - Anzahl der Messpunkte
    - Einzelmessung gültig (Boolean)
    - Gesamtmessung gültig (Boolean)
    - Wird eingebunden: Klasse „Messwerte“
    richtiger Einwand.
    Antwort: Ich wusste nicht, dass du jeden Verstärker nur einmal messen willst.
    In diesem Falle dürfen die beiden nicht getrennt sein, sondern es ist eine Entität, namens "Messung". Nur Name sollte "VerstärkerName" heissen zur besseren Klarheit.

    egon schrieb:

    Klasse „Messvorgang“
    Hier wird die Durchführung einer Messreihe (also Messung über alle X-Werte) gesteuert.
    Der „Messvorgang“ verknüpft eine Rauschquelle mit einem Verstärker, und füllt die Klasse „Messung“ mit Datenpunkten – also zu den X-Werten die Y-Werte. Hier ist mir noch nicht klar, wie diese Verknüpfung aussieht. Dies ist also noch meine Schwachstelle.
    Denkbar einfach

    VB.NET-Quellcode

    1. Public Class Messvorgang
    2. Public Verstaerker As New Verstaerker
    3. Public Rauschquelle As New Rauschquelle
    4. '...
    5. End Class

    Das ist wohl ne Glaubensfrage. Ich bin auf der Seite derjeniger, die unabhängige Klassen erstellen. Also nicht eine Klasse innerhalb einer anderen Klasse erstellen. Und schon gar nicht in der Form-Klasse; dort m.E. niemals.
    Man weiß nie, wann man solch eine Klasse wiederverwenden will/wird.

    EDIT: Wer lesen kann, ist klar im Deutschunterricht aufmerksam gewesen. @ErfinderDesRades: Danke für den impliziten Hinweis. Es ging ja gar nicht um innerhalb der Form-Klasse, sondern innerhalb ihrer Datei. :S
    Doch es bleibet dabei: Ich schmeiß die Formdatei nicht mit anderen Klassen in einen Dateitopf.
    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.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „VaporiZed“ ()

    Klassen mit weniger als 10 Zeilen Code - davon sperre ich auch mal mehrere zusammen in dieselbe Datei - wenn sie inhaltlich zusammenpassen.
    So eine Datei könnte "Datenmodell" heissen.

    Mir ist wichtig, möglichst viel, was zusammengehört, sehen zu können.

    Sobald die Datei zu fett wird, lagere ich die Klassen in eigene Dateien aus.
    Je länger ich nun darüber nachdenke umso mehr Fragen werden aufgeworfen.
    Wie greift man nun von der einen Klasse auf die andere zu. Könnt ihr mir bitte mit Beispielen weiterhelfen.
    Wann und wie muss ich mit Redim arbeiten?
    Was muss noch beachtet werden?



    VB.NET-Quellcode

    1. Option Strict On
    2. Public Class Form1
    3. 'Mit Button 1 bis 3 und mit Label 1 bis 3
    4. End Class

    VB.NET-Quellcode

    1. Public Class Messvorgang
    2. Public Messung As New Messung
    3. Public Rauschquelle As New Rauschquelle
    4. End Class

    VB.NET-Quellcode

    1. Public Class Messung
    2. Public VerstaerkerName As String
    3. Public Hinweise As String
    4. Public Anzahl_Messpunkte As Integer
    5. Public Einzelmessung_gueltig As Boolean
    6. Public Gesamtmessung_gueltig As Boolean
    7. Public Messwerte As New Messwerte
    8. Public Messvorgang As New Messvorgang
    9. End Class

    VB.NET-Quellcode

    1. Public Class Rauschquelle
    2. Public Name As String
    3. Public Hinweise As String
    4. Public Messwerte As New Messwerte
    5. End Class

    VB.NET-Quellcode

    1. Public Class Messwerte
    2. Public XValues_freq() As Double 'Frequenzwert
    3. Public XValues_freq_Anzeige() As Double 'Frequenzwert aufbereitet für die Anzeige in Hz, kHz oder MHz
    4. Public YValues_NF() As Double ' Rauschzahl (bei einer Messung) oder ENR (bei einer Rauschquelle)
    5. Public YValues_NF_Anzeige() As Double
    6. Public YValues_NF_Part1() As Double
    7. Public YValues_NF_Part2() As Double
    8. Public YValues_NF_Part3() As Double
    9. Public YValues_NF_Part4() As Double
    10. Public YValues_ENR() As Double ' Stärke der Rauschquelle
    11. Public YValues_gain() As Double ' Verstärkung (bei einer Messung)
    12. Public YValues_gain_Anzeige() As Double
    13. End Class
    von welcher Klasse möchtest du auf welche annere zugreifen?
    Und was soll geschehen beim Griff?

    Wie dem auch sei - ich würde - wo das Datenmodell so langsam Gestalt annimmt, auch noch eine ausdrückliche Klasse Datenmodell programmieren.
    Klar kann man Messwerte, Messvorgänge, Rauschquellen auch einfach so ins Form schmeissen - aber das übersichtlich ist was anneres.

    Also Datenmodell:

    VB.NET-Quellcode

    1. Public Class Datenmodell
    2. Public MessVorgaenge as new List(Of Messvorgang)
    3. Public Rauschquellen as new List(Of Rauschquelle)
    4. End Class
    5. ' dann kannste ins Form schreiben:
    6. Public Class Form1
    7. private _Mdl as new Datenmodell 'und da ist alles drin
    8. 'Mit Button 1 bis 3 und mit Label 1 bis 3
    9. End Class




    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „ErfinderDesRades“ ()

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private MesswerteInstanz As Messwerte 'ggf. besseren Instanznamen finden
    3. 'und später in Form1:
    4. MesswerteInstanz.XValues_freq(0) = 1.23

    MesswerteInstanz kann/darf aber nicht in gleicher Art auf Form1 zugreifen.

    btw: Public-Variablen? Nicht grad die feine Art beim Thema OOP und Kapselung ...
    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.
    Du hast demnächst mit 2 sehr verschiedenen Arten von Objekten umzugehen:
    einmal Controls und alles was dazu gehört: Listboxen, Buttons, DatagridViews, DatagridviewColumns, Textboxen, Labels,...
    Zum andern DatenObjekte: Messwerte, Messvorgänge, Messergebnisse,...

    Gut - haste noch nie gemacht...
    Also die Erfahrung lehrt, diese beiden Welten getrennt zu halten erleichtert die Übersicht.



    Ich kann dir keinen Messvorgang simulieren. Was ist damit ühaupt im Einzelnen gemeint?
    Ich kann mir allenfalls vorstellen, per Button-Klick eine Rauschquelle zuzufügen.
    Ein annerer ButtonKlick könnte einen Messvorgang zufügen, mit Verweis auf diese Rauschquelle.
    Noch ein annerer Klick könnte (tehoretisch!) den Messvorgang auch abfahren - aber da gibt das Datenmodell noch nix her - iwo müssen da ja die ZeitIntervalle niedergelegt sein, und welche Befehls-Sequenzen dann an die Schnittstelle zu senden wären und sowas...
    >> Gut - haste noch nie gemacht... Also die Erfahrung lehrt, diese beiden Welten getrennt zu halten erleichtert die Übersicht.
    Auch hier muss ich umlernen und bin gespannt wie das umgesetzt wird.

    >>Ich kann mir allenfalls vorstellen, per Button-Klick eine Rauschquelle zuzufügen.
    >> Ein annerer ButtonKlick könnte einen Messvorgang zufügen, mit Verweis auf diese Rauschquelle.
    >>Noch ein annerer Klick könnte (tehoretisch!) den Messvorgang auch abfahren - aber da gibt das Datenmodell noch nix her - iwo müssen da ja die ZeitIntervalle niedergelegt sein, und welche Befehls-Sequenzen dann an die Schnittstelle zu senden wären und sowas...

    Guter Vorschlag. Ich würde mich freuen, wenn du mir noch weiter helfen könntest. Ich finde das spannend, da diese Herangehensweise sehr neu und ungewohnt für mich ist.

    Was hältst du von:
    Die Rauschquelle bekommt den Namen "Rausch1" und die Werte (1; 3) und (3;7) und (10,21)

    Den Messvorgang könnte man simulieren, indem man
    - 3 Datenpunkte festlegt; 1,3 und 10 MHz
    - die Rauschquelle einbindet
    - Den eigentlichen Messvorgang ersetzen durch:
    1. Für jede Frequenz jeweils zuerst 1 Sekunden warten
    2. Dann eine Rechnung durchführen. (Summe aus X- und Y-Wert des Datenpunktes). Das Ergebnis ist dann die Antwort. Also für 1 MHz wären das dann 1+3=4
    3. Zwei Sekunden warten
    4. In einem Label oder einem anderen Control die Ergebnise herausgeben mit X-Wert und Y-Wert (Ergebnis der Rechnung)
    und dann den nächsten Datenpunkt bearbeiten.

    Auch wenn die Abläufe stark vereinfacht sind, würde sie mir hoffentlich schon etwas helfen und mir zeigen wie mit den unterschiedlichen Klassen gearbeitet wird, damit ich von diesem Punkt wieder etwas eigenständiger denken und planen kann.
    Ich bin auch gespannt wie sich Controls und DatenObjekte getrennt halten lassen und an welchen Stellen es schwierig wird.
    Vielleicht wird es dann auch für mich verständlicher, wenn ich sehe wie du deine Klasse "Datenmodell" verwendest.

    Ist das so ein vernünftiger Vorschlag für den nächsten Schritt?
    mich stört eher, dass du noch garnix hast zum laden, speichern, anzeigen, auswählen.

    was bringts, wenn du eine Messung zufügen kannst und ausführen - weisst aber garnet welche, und speichert sich auch nirgends ab?
    Da kommemer wieder zu Datenmodell-Klasse - die würde Methoden zum laden/speichern haben.

    Dassis einerseits irre kompliziert, andereseits ein Allerwelts-Problem, für dassich meine Standard-Lösungen parat habe. Die Standard-Lösungen könnemer aber nicht zusammen neu entwickeln, sondern die muss man halt einbinden.
    Und auch das einbinden kannich dir nicht erklären, jdfs. ists 10mal schneller, wenn ichs einfach mache.

    Also setze du dein Projekt auf Strict On, schmeiss den Deppen-Namespace raus, dann das Projekt zippen und hier anhängen.
    Siehe diese beiden Tutorials:
    1. Visual Studio - Empfohlene Einstellungen
    >>>mich stört eher, dass du noch garnix hast zum laden, speichern, anzeigen, auswählen.
    Mit dem Beitrag#33 vollte ich alles irgendwie vereinfachen, damit nicht alles im Riesencode verschwindet.
    In meinem jetzigen Programm funktioniet schon eigentlich fast alles nur eben mit sehr viel Spaghetti-Code und mit zeitlicher Blockierung.

    Wie sollen wir jetzt vorgehen? Soll ich die Klassen in ein Projekt einfügen? Die grafische Darstellung können wir dabei ausklammern, auch das Auslesen und Speichern von irgendwelchen TXT-Dateien, wie es später bei mir gemacht wird. Das macht mir momentan kein Kopfzerbrechen.
    Was für mich neu ist - und für dich ein alter Hut - das ist der Umgang mit den ganzen Klassen und dem Datenmodell. Da fühle ich mich ziemlich hilflos, wass dann dem Spaghetti-Code-Monster geführt hat..
    Es sind also die ersten Schritte mit den Klassen und dem Datenmodell. Meine Hoffnung ist, dass ich das spätere Aufblähen und die dann folgende Kompleität dann alleine hinbekomme.
    Mein jetziges Spyghetti-Code-6000 Zeilen Monstrum ist schlecht zu warten und sollte völlig neu aufgebaut werden.
    Um nicht erschlagen zu werden, versuche ist monentan erst enmal alles zu vereinfachen um die neue Herangehensweise zu lernen.

    Was ist jetzt der richtige Weg damit wir nicht aneinander vorbeidenken? Ein vereinfachtes Programm zum lernen der neuen Herangehensweise oder eine genaues "Pflichtenheft"? Oder soll ich mein jetziges Programm von unnötigen Dingen befreien, den Code etwas verbessern und dann hier einstellen, damit du eine Blick darauf werfen kannst? (Dauert dann 1-2 Tage) Das Entschlacken ist sowieso vor einem größeren Umbau sinnvoll. Kommentare fehlen teilweise auch noch
    Was soll ich vorbereiten, damit es sinnvoll weitergehen kann?

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „egon“ ()

    egon schrieb:

    Wie sollen wir jetzt vorgehen? Soll ich die Klassen in ein Projekt einfügen? Die grafische Darstellung können wir dabei ausklammern, auch das Auslesen und Speichern von irgendwelchen TXT-Dateien, wie es später bei mir gemacht wird. Das macht mir momentan kein Kopfzerbrechen.
    jo - das der Plan.
    Auf deine 6000 Zeilen Spaghetti habich tatsächlich nicht wirklich Lust ;)
    Aber wie gesagt: in ein "sauberes" Projekt, im Sinne von Visual Studio - Empfohlene Einstellungen
    Dann werde ich jetzt ein kleines Projekt erstellen. Auch mein schon funktionierendes Programm entschlacke ich. Aus den 6000 Zeilen sind schon 2600 Zeilen geworden und es werden noch weniger. Für die weitere Bearbeitung und Kommentierung benötige ich vermutlich zwei Tage.
    Ich werde mich dann wieder bei euch melden. Hoffentlich kommen wir so sinnvoll weiter.
    Das kleine Projekt kann wirklich super-klein.
    Ich brauche nur die Datenmodell-Klassen - alles weitere interessiert mich erstmal nicht - auch keine Kommentierung (bei ordentlich benamten Code verbietet sich übrigens meist jede Kommentierung - Kommentare wären üflüssig, vom Wesentlichen ablenkend oder gar lügend!).
    Hier nun das superkleine Projekt. Es enthält momentan nur die Klassen und sonst nichts. Noch keine Code... So habe ich dich verstanden.
    Ich setzte mich gleich wieder an mein altes Programm und entschlacke weiter...


    Kleine Zusatzfrage: In meinem alten Programm will ich einige Sub und Func in eine extra Datei auslagern um die Übersicht zu erhöhen und um sie nicht mit den Controls zu vermischen. Welche Endung muss diese Datei haben?
    Auf diese Weise:

    VB.NET-Quellcode

    1. Partial Public Class Form1
    2. Public Sub irgendeine_Sub()
    3. End Sub
    4. End Class


    Weiter kleine Zusatzfrage: Wie kann man sehen, ob eine deklarierte Variable noch verwendet wird?
    Also: Private Messdaten_Main As String
    Muss ich sie auskommentieren und sehen ob dann ein Fehler entsteht oder gibt es eine bessere Möglichkeit?
    Dateien
    • KlassenTest.zip

      (26,31 kB, 153 mal heruntergeladen, zuletzt: )

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „egon“ ()

    @egon Analog zu Form1.Designer.vb:
    Form1.WasAuchImmer.vb
    Besser ist es, Du arbeitest mit Regionen, die kannst Du ganz einfach zuklappen:

    VB.NET-Quellcode

    1. #Region "Was Auch Immer"
    2. Public Sub irgendeine_Sub()
    3. End Sub
    4. #End Region
    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!