Minimiertes Fenster wieder darstellen
Minimiertes Fenster wieder darstellen
Ich habe ein Fenster erstellt mit den Standardeigenschaften  (minimieren,maximieren,schließen). In diesem Fenster laufen längere Berechnungen (ca. 60 min) und eine Zeitanzeige. Wenn ich dieses Fenster minimiere erscheint es unten in der Taskbar. Es lässt sich aber nicht wieder herstellen während die Berechnungen laufen (CPU Last = 100 %). Nach Ende der Berechnungen ist eine Wiederherstellung problemlos möglich - mit allen Inhalten.
Hat jemand eine Idee ?
			
			
									
									Hat jemand eine Idee ?
no name, no woman, no job, no money, no worries - just tired
						- 
				Kaeru Gaman
 - Beiträge: 17389
 - Registriert: 10.11.2004 03:22
 
innerhalb der berechnungsschleife ein WindowEvent() einfügen.
wenn die berechnung in geschachtelten schleifen stattfindet,
vielleicht nicht in der innersten schleife.
			
			
									
									wenn die berechnung in geschachtelten schleifen stattfindet,
vielleicht nicht in der innersten schleife.
Code: Alles auswählen
For Zeile = 0 to 999
  For Spalte = 0 to 999
    Berechnung(Zeile,Spalte)
  Next
  WindowEvent()
NextDer Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
						Der Weise weiß, dass er ein Narr ist.
WindowEvent() funktioniert. Man muss sich aber bei geschachtelten Schleifen sehr genau überlegen wo man diesen Befehl aufruft. Den Unterschied in den Auswertezeiten werde ich noch einmal testen. Aber generell ist dieser Weg OK.
Danke Kaeru
			
			
									
									Danke Kaeru
no name, no woman, no job, no money, no worries - just tired
						- 
				Hellhound66
 - Beiträge: 476
 - Registriert: 23.03.2005 23:19
 
- 
				Kaeru Gaman
 - Beiträge: 17389
 - Registriert: 10.11.2004 03:22
 
Immer diese Panikmache mit den Threads.
Folgende Regeln beachten:
- Mehrfaches starten verhindern
- String nicht in mehreren Thread verarbeiten. (Möglich bei PB4 mit Option Threadsave)
			
			
									
									Folgende Regeln beachten:
- Mehrfaches starten verhindern
- String nicht in mehreren Thread verarbeiten. (Möglich bei PB4 mit Option Threadsave)
Code: Alles auswählen
Global ThreadActiv.l
Procedure MyThread(ID)
  For i = 0 To 10 ; 
    Delay(1000)
  Next i
EndProcedure
If ThreadActiv = #False
  hThread = CreateThread(@MyThread(), 0)
  If hThread
    ThreadActiv = #True
  EndIf
EndIf
Repeat
  If IsThread(hThread)
    Debug "Thread läuft"
  Else
    Debug "Thread fertig"
    ThreadActiv = #False
  EndIf
  Delay(1000)
Until ThreadActiv = #False
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
						Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
