vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Timer hängt bei Datenabfrage 
Autor: flexxer
Datum: 13.08.22 21:13

Hallo Forum,

ich habe folgendes Problem. Habe 2 Timer am Laufen.

Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
 
        ToolStripStatusLabel2.Text = TimeOfDay
 
        ' Laufzeit
        meinzähler += 1
        ToolStripStatusLabel4.Text = SecToTime(meinzähler)
 
    End Sub
und

Private Sub Datenabfrage_Tick(sender As Object, e As EventArgs) Handles _
  Datenabfrage.Tick
 
        Using wc As New Net.WebClient
            Try
                Dim abruf As String = wc.DownloadString(My.Settings.Kanal)
 
                Label1.Text = abruf
                Label1.Text = Replace(Label1.Text, ".", ",")
                If Label2.Text = "0" Then
                    Label2.Text = Label1.Text
                End If
 
 
                Dim differenz As Double = Label1.Text - Label2.Text
                Dim Platzhalter As String = "    "
                Label3.Text = Platzhalter & (String.Format("{0:n4}", _
                  differenz)) '& " kw/h"
                Label8.Text = Platzhalter & (String.Format("{0:n2}", differenz _
                * (My.Settings.Preis / 100))) & " €"
 
            Catch ex As Exception
                'Label1.Text = "offline"
            End Try
        End Using
 
 
    End Sub
Der Datenabfrage Timer läuft mit einem Interval von 5 Sekunden
Der Timer1 mit einem Interval von 1 Sekunde

Jedesmal wenn ich die Daten abfrage bleibt der 1 Timer für 3 Sekunden hängen.
Gibt es eine Möglichkeit damit Timer 1 keine hänger hat ?

MfG
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Timer hängt bei Datenabfrage 
Autor: sv00010
Datum: 14.08.22 13:57

Ich würde vorschlagen erstmal alle Werte, welche du verwenden willst, in einem Module oder einer Klasse abzuspeichern und nicht die verwendeten Variablen im Timer zu definieren.
Als nächstes würde ich vorschlagen, alle impliziten Konvertierung aufzulösen, damit die Fehlersuche leichter wird.
Dabei sollte auch beachtet werden, ungültige Eingaben abzufangen, z.B.


Dim differenz As Double = Label1.Text - Label2.Text
So etwas ist kein schöner Stil und sollte vermieden werden.
Es sollte eine Abfrage rein, was passieren soll, wenn die Label leer sind usw.
Solche Sachen machen die Übersichtlichkeit für uns unnötig schwer.
Ich habe selber schon erlebt, dass es am Ende an Kleinigkeiten lag, wie z.B. einer leeren TextBox usw.
Verwende zur Speicherung der Werte Properties oder Variablen welche du auf Friend definiert hast usw.

Beitrag wurde zuletzt am 14.08.22 um 13:58:31 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel