Benutzer mit den meisten Antworten
Task-Manager zeigt Status : Keine Rückmeldung

Frage
-
Hi,
mein Programm löst zyklisch im Task-Manager den Status "Keine Rückmeldung" aus.
Manchmal wird außerdem zusätzlich eine neue Anwendung (aber kein zusätzlicher Prozess) angezeigt im
Taskmanager aber nicht die Applikation selbst.
Das Programm startet keine Threads.
Hat jemand hierfür eine Erklärung?
Danke Michael
Antworten
-
Hallo Michael,
ja, Du hast es schon erwähnt, normal sind es Threads, bei denen man vergisst, die MessagePump zu bedienen:
[Bearbeiten von Steuerelementen aus Threads] aber gut, es sind ja keine zusätzlichen Threads bei Dir gestartet.
Aber es kann genauso gut passieren, wenn Du eine while-Schleife im Programm ausführst, und kein Application.DoEvents dazwischen ausführst, bzw. die Meldungs-Schleife (MessagePump) letztlich nicht behandelst. Dann ergibt sich auch ein "Not Responding". Und da das ja spordisch wiederkehrend ist, könntest Du hier ja einen Timer nutzen und in diesem Timer vergessen haben (siehe auch G.s Vermutung) die MessagePump zu bedienen.
Beachte, dass bestimmte Timer-Klassen oder der BackgroundWorker etc. auch trotzdem Nicht-UI-Threads starten, ohne dass Du aussen merkst, dass ein neuer interner Thread gestartet wurde.
ciao Frank- Als Antwort markiert mimuel Freitag, 11. Februar 2011 12:26
Alle Antworten
-
Hallo Michael,
ja, Du hast es schon erwähnt, normal sind es Threads, bei denen man vergisst, die MessagePump zu bedienen:
[Bearbeiten von Steuerelementen aus Threads] aber gut, es sind ja keine zusätzlichen Threads bei Dir gestartet.
Aber es kann genauso gut passieren, wenn Du eine while-Schleife im Programm ausführst, und kein Application.DoEvents dazwischen ausführst, bzw. die Meldungs-Schleife (MessagePump) letztlich nicht behandelst. Dann ergibt sich auch ein "Not Responding". Und da das ja spordisch wiederkehrend ist, könntest Du hier ja einen Timer nutzen und in diesem Timer vergessen haben (siehe auch G.s Vermutung) die MessagePump zu bedienen.
Beachte, dass bestimmte Timer-Klassen oder der BackgroundWorker etc. auch trotzdem Nicht-UI-Threads starten, ohne dass Du aussen merkst, dass ein neuer interner Thread gestartet wurde.
ciao Frank- Als Antwort markiert mimuel Freitag, 11. Februar 2011 12:26