Ahoi 😃
Ich habe ein Prozess-Steuerungs-Software mit GUI gebaut. Wenn ich das Ganze im Febug-Modus von VS.NET 2010 laufen lasse, rennt die ohne Probleme.
Baue ich jetzt ein Realese und starte das auf div. Rechnern unter div. Usern (Win XP, User haben Admin-Rechte) passiert es laufend, das die Form einfriert, wenn se mal ne Zeit lang im Hintergrund liegt/minimiert ist und dann wieder in Fokus geholt werden soll.
Gibt es da bekannte Ursachen für? Wenn ich dem User VS installiere und das Ganze wieder im Debug-Modus starte, läuft es ohne Probleme 😦
*Machts gut und danke für den vielen Fisch*
Dann hast Du raceconditions, die durch optimierungen passieren.
Gibt es diese Frezzes auch wenn du nur eine Debugversion erzeugst, ohne VS.NET ?
Ja, leider ist es egal ob ich ne Release- oder ne Debug-Version baue, das Ergebniss ist leider das Gleiche . . .
*Machts gut und danke für den vielen Fisch*
Hallo DjBepy,
können trotzdem Race Conditions sein. Wenn du in deiner Anwendung richtig synchronisierst und alles in [FAQ] Warum blockiert mein GUI? und [FAQ] Controls von Thread aktualisieren lassen (Control.Invoke/Dispatcher.Invoke) beachtest, sollte es auch funktionieren.
herbivore
Ahoi 😃
Danke für den Hinweis.
Wenn Threads bzw. der BackgroundWorker genutzt wird, läuft alles Invoke.
Das komische an der Sache ist, das im Hintergrund nichts läuft. Teilweise ist aus der Hauptform einfach eine neue Form geöffnet, teilweise nicht.
Es wird dann vom User an CSV-Dateien gearbeitet, die ausm Explorer heraus geöffnet wurden. Nach der Bearbeitung will der User wieder zurück ins Programm, um eine neue Verarbeitung zu starten & PENG, geht nicht, Fom sind eingefroren.
Hatte schon überlegt ob es an der Browser-Komponente liegt, die ich als Explorer missbrauche & der versucht was zu aktuallisieren. Komplett raus genommen, gleiches Phänomen.
Auch habe ich die Funktionen zur Verbindung mit der DB in Try-catch gepackt, falls er versucht beim Focus die DataSource der DataDridView zu aktuallisieren, die Verbindung in ein Timeout gelaufen ist & er es nicht hin bekommt die neu aufzubauen. Hilft auch nicht.
Was mich ja so stuzig macht, ist dass es im DM vom VS ohne Probs rennt & gebaut laufend friert 😦
*Machts gut und danke für den vielen Fisch*
Ich habe jetzt am Anfang jeder Funktion die Funktion hinzugefügt, die den aktuellen Funktionsnamen ins Logbuch schreibt . . . so habe ich vielleicht ein Anhaltspunkt, ob es immer nach Ausführen einer bestimmten Funktion ist . . .
@mogel: Gerne, aber meine Hauptform hat 2659Zeilen Code, ich glaube, das sprengt etwas den Rahmen 😉
*Machts gut und danke für den vielen Fisch*
Weitere Möglichkeit: VS mit hängendem Prozess verbinden und Threads analysieren
Wie kann ich VS sagen, er soll sich in ein laufendes Programm klemmen? Es kommt ja keine Fehlermeldung, so dass ich über Details oder so gucken könnte, es friert ja einfach ein & gut is . . . .
*Machts gut und danke für den vielen Fisch*
Ich habe schon versucht so viel wie möglich zusammen zu fassen. Diese Form hat halt nur dutzende von Buttons/Menüs + Sichten und vieles wird über ein BackgroundWorker abgefrühstückt, damit die Form nicht einfriert 😉
Habe jetzt begonnen alle Zugrife auf irgendwelche Form-Elemente zu invoken und logge fleißig mit . . . vielleicht finde ich den schwarzen Peter ja auf die Art & Weise . . .
*Machts gut und danke für den vielen Fisch*
Ich versuche mal weiter zu helfen... Konntest du den Fehler finden?
Im Debug-Modus, kannst du dann im Fenster "Ausgaben" irgendwelche Letzte Chance-Exceptions finden? Kann möglicherweise auch daran liegen 😃
Mit freundlichem Gruß
Dennis Ziolkowsi