Absturz des Dialoges nach dem der Bildschirmschoner aktiv war.

Bella_Isy

Erfahrenes Mitglied
Hallo zusammen,

Ich habe gerade ein Programm erstellt. Dieses Programm stellt einen Datenbestand einer speziellen Firma wiederher. Dazu wird eine SQL Datenbank wiederhergestellt und Bilder werden von einer externen HDD auf den lokalen Rechner kopiert. Läuft also zum größsten Teil voll automatisch durch.
Mein Problem ist jetzt, dass bei größeren Datenmengen der Kopiervorgang entsprechend viel Zeit in anspruch nimmt und das führt dazu, dass sich der Bilderschirmschoner oder andere Energiesparoptionen einschaltet kann. Wenn man jetzt wieder zum Arbeitsbildschirm zurück geht, stürzt der Dialog mit dem Fotschrittsbalken und der dazugehörigen Log - Textfeld ab. Was seltsam ist,, dass Programm arbeitet im Hintergrund weiter. Es ist nur nicht mehr Möglich den Fortschritt festzustellen. Ich kann dies mit Sicherheit sagen, dass es so ist, weil ich neben dem Log Textfeld auch noch die Logeinträge in eine Textdatei schreibe und die wird ganz brav weiter ergänzt.

Wie kann ich den Absturz verhindern?

Ich nehme an, dass es irgend ein Event gibt, welches ich abfrangen muss um dort den Dialog mit der this.Update() oder this.Refresh() zu aktuallisieren.

Kann mir jemand einen nützlichen Tipp geben. Was ich noch einbauen muss, damit sowas nicht mehr passiert.

Vielen Dank

Isabelle

PS: Ich nutze MS VS .NET 2008 mit C# und den MS SQL Server 2005 und 2008
 
Moin,

im Zweifel würde ich den Bilderschirmschoner oder andere Energiesparoptionen zuvor ausschalten ....
Mache ich bspw. immer so, wenn ich größere Projekte aus CD oder DVD brenne, da damit auch schon div. Probleme hatte ;)

Das Abfangen des An- und Abschalten des Bildschirmschoner der der Bilderschirmschoner oder der Energiesparoptionen wird wohl sehr aufwendig !

Gruß
Klaus
 
Hallo,

ich danke dir für deine schnelle Antwort. Wenn du das schon öfters gemacht hast. Hast du vielleicht den Code ausschnitt für mich, die sämliche Energiesparoptionen abschaltet bzw. anschaltet.

Vielen Dank

Isabelle
 
sorry, da hast Du mich wohl missverstanden ...

Ich meinte nicht "über die SW ausschalten", sondern händisch über die Rechnereigenschaften ... ;)

Gruß
Klaus
 
Das wird wohl nicht gehen, weil da mein Chef was dagegen hat. Ich muss eine Lösung für mein Programm finden.

Aber ich danke dir viel mal für deine schnelle Antwort

Danke

Isabelle
 
Habe herausgefunden, dass mein Programm deshalb nicht aktualisiert wird, weil das Ereignis GotFocus nicht ausgelösst werden, wenn mein Programm läuft.

Kann mir wer sagen, was ich falsch mache?

Danke Isabelle
 
Lang hat es gedauert. Ich habe die Lösung.

ich rufe einfach Application.DoEvents() auf und schon wird es ordnungesgemäß aktuallisiert. Manchmal ist es so einfach

Vielen Dank für alles
 
Zurück