Timer friert Program ein.

  • VB.NET

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

    Timer friert Program ein.

    Hallo,

    Ich versuche gerade über einen Timer mein Programme dauerhaft am Laufenden zuhalten, die dafür nötigen Infos liegen stehts Aktuell oder eben nicht auf meinem Webspace, aufgerufen werden können die Infos per Downloadstring, was ich auch Bereits nutze, das Problem ist das sollte das Program nicht "Aktiv" im Vordergrund laufen o.ä. das Program sofort Einfriert und auch nach jedem neuen "Timer Schub" das Program immer langsamer wird (gleichbleiben) bis sie letzendlich Steckenbleibt, habe den Timer von 1000 erst auf 1500 dann auf 2000 dann auf 2500, eben auf 5000 und nun auf 10000 Gesetzt, was leider Überhaubt nichts ändert sondern das ganze nur aufschiebt, die Verarbeitung der Informationen dauer Niemals länger als 2 Sekunden, allerdings bleibt das Programm trotzdem weiter Stecken, gesammt laufen 2 dieser Prüfer Timer, den einen habe ich auf 5000 Interval und den anderen eben auf 10000, wenn ich beide Timer nicht Starte entstehen keine Probleme, wenn ich nur einen Starte bleiben die Probleme, gibt es eine gute Timer Alternative oder Kann ich diese Hängungen irgendwie umgehen? Nach spätetens 30 Sek. bleibt das ganze Komplett Stecken oder Ruckelt unaushaltsam.

    Mfg.
    Die Timer sind daran bestimmt nicht schuld, eher das, was du im Timer ausführst.
    Hast du mal den Speicherverbraucht deines Programmes überwacht? Möglicherweise liegt ein Memoryleak vor, kann bei Netzwerkgeschichten leicht der Fall sein, wenn man nur ein Dispose irgendwo vergisst.

    Artentus schrieb:

    Die Timer sind daran bestimmt nicht schuld, eher das, was du im Timer ausführst.
    Hast du mal den Speicherverbraucht deines Programmes überwacht? Möglicherweise liegt ein Memoryleak vor, kann bei Netzwerkgeschichten leicht der Fall sein, wenn man nur ein Dispose irgendwo vergisst.

    Dispose?
    Wenn du schon so fragst ist das vermutlich der Fehler. Netzwerkkomponenten wie z.B. der Webclient müssen alle nach dem Verwenden aus dem Speicher entfernt werden, da sie auf unverwaltete Objekte verweisen und diese nicht vom GC bereinigt werden können. Das bedeutet im Klartext, jede dieser Instanzen, die du erstellst, muss irgendwann mal mit Dispose oder mit einem Using-Block freigegeben werden, ansonsten läuft dir dein Speicher zu.
    Wie wärs, wenn Du einfach mal Deinen Quellcode hier zeigst, anstatt es auf Ratespiele ankommen zu lassen? Nur so als Tipp.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    Am Ende des Timer habe ich einen Dispose, trotzdem bleibt die Form Stecken, wenn ich zuvor allerdings alle Web Infos bereinige und erst im Nachhinein (Nach dem Start) einfüge, klappt es besser/es hängt sich nicht auf, woran Könnte das liegen?

    Unnötiges Vollzitat entfernt
    -Artentus

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Artentus“ ()

    @froyo321 Du solltest endlich mal den Code posten, dann können wir Nägel mit Köpfen machen.
    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!