Suchergebnisse
Suchergebnisse 1-9 von insgesamt 9.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
-
Warte / Wait / Sleep / DoEvents Funktion zum Anhalten des Programmes für eine bestimmte Zeit
BeitragFür sowas verwendet man normalerweise Timer, oder bei komplizierteren Fällen auch Threads (Stichwort Parallelisierung). Außerdem hättest du für deine Berechnungen auch die TimeSpan-Struktur für dich arbeiten lassen können.
-
Warte / Wait / Sleep / DoEvents Funktion zum Anhalten des Programmes für eine bestimmte Zeit
BeitragZitat von dive26: „Ist unbrauchbar, da friert das ganze Programm ein.“Eben deswegen nimmt man ja Timer oder Threads. Da du aus VB6 kommst, kannst du das vermutlich nicht wissen, deswegen will ich dir hier auch nichts vorwerfen, aber: Application.DoEvents ist in .Net ein NoGo.
-
Warte / Wait / Sleep / DoEvents Funktion zum Anhalten des Programmes für eine bestimmte Zeit
BeitragTimer ist ganz einfach. Du ziehst dir nen Timer aus der Toolbox und stellst dann die gewünschte Anzahl Millisekunden ein. Dann startest du den Timer (geht von über all aus dem Code) mit Timer.Start() bzw. Timer Enabled = True (letzteres kannst du auch direkt im Designer einstellen, sodass der Timer gleich von Beginn an läuft). Der Timer wird dann in den von dir eingestellten Intervallen das Tick-Event auslösen. Das ist die einzige Umstellung, also von Sequentiell nach Eventbasiert, aber so funkt…
-
Warte / Wait / Sleep / DoEvents Funktion zum Anhalten des Programmes für eine bestimmte Zeit
BeitragEs geht nur über Events, das lässt sich nicht in eine Sub packen, ansonsten würdest du wieder mit DoEvents warten. DoEvents ist vergleichbar, wie wenn du neben deinem Braten am Ofen stehst und nur auf die Uhr schaust, Events dagegen sind, dass du dir nen Wecker stellst und so lange was anderes machst (kann auch faulenzen sein), bis dieser klingelt. Wenn du Probleme damit hast, dich in deinem Programm zurechzufinden, weil zu viel Code auf einem Haufen ist, dann solltest du dringend darüber nachde…
-
Warte / Wait / Sleep / DoEvents Funktion zum Anhalten des Programmes für eine bestimmte Zeit
BeitragZitat von dive26: „Diese "Warte"-Routine liegt derzeit in einem separaten Modul - zwecks Übersichtlichkeit. Welchen Vorteil hätte ich diesen Code in eine Klasse zu packen, außer dass ich zur Verwendung der Klasse diese zuerst instanzieren müsste?“Das bezog ich auf die Aussage, dass du 170.000 Zeilen Code in deinem Programm hast, und es deswegen unübersichtlich sei. Da du das aber offensichtlich nicht hast, sollte es auch keine Übersichtlichkeitsprobleme durch Events geben. Übrigens gibt es auch …
-
Warte / Wait / Sleep / DoEvents Funktion zum Anhalten des Programmes für eine bestimmte Zeit
BeitragZitat von dive26: „Der Ablauf über ein Startmodul sollte in etwas so ablaufen:“Da hast du dein Problem, es gibt bei sowas nämlich keinen festen Ablauf. Du hast eine Aufgabe (z.B. lade Stammdaten) und weißt nicht, wie lange diese dauert. Anstatt jetzt aber zu warten, bis sie abgeschlossen ist, kannst du auch einfach ein Event nach dem Abschluss feuern und dann dort weitermachen. In deinem Fall wäre das dann auch noch mit THreading zu kombinieren, also die Arbeit findet in einem anderen Thread sta…
-
Warte / Wait / Sleep / DoEvents Funktion zum Anhalten des Programmes für eine bestimmte Zeit
BeitragSowas ist alles ein Fall für Multithreading.
-
Warte / Wait / Sleep / DoEvents Funktion zum Anhalten des Programmes für eine bestimmte Zeit
BeitragZitat von dive26: „Ich warte ja nicht bis es abgeschlossen ist, sondern die Wartezeit ergibt sich ja automatisch, wenn ich die "Stammdaten-Leseroutine" aufrufe.“Nur, solange du sie direkt aufrufst. Du du ja aber den Fortschritt anzeigen möchtest ist dies keine Option, du musst den Aufruf in einen Thread auslagern. Und um zu wissen, wann der Thread seine Arbeit erledigt hat, löst du dort ein Event aus. Quellcode ist nicht mal so schnell erstellt, du musst dich ein wenig gedulden.
-
Warte / Wait / Sleep / DoEvents Funktion zum Anhalten des Programmes für eine bestimmte Zeit
BeitragHier hast du mal den einfachsten Fall von Multithreading. Du brauchst ne Form mit einem label und zwei Buttons, dann kannst du den Code einfach mal übernemen und ausprobieren, was passiert. VB.NET-Quellcode (30 Zeilen) DoSomeWork1 und DoSomeWork2 stehen für zeitintensive Methoden, Thread.Sleep ist nur für Demonstrationszwecke da drin.