Du schreibst du holst alle paar Minuten ein Bild und dann wird ein Timer aktiviert.
Aber dieses "alle paar Minuten"... ist das nicht auch ein Timer? Oder noch schlimmer. Ein Sleep?
Mit "Ausgelastet" meinte ich keine 100% Auslastung sondern einfach nur, dass der Hauptthread blockiert wird.
Nein, ich habe geschrieben:
Zitat:
Alle Minuten wird ein neues Bild geholt und untersucht. Das wird über einen Timer aktiviert, in der Wartezeit, bis der Timer ausgelöst wird, passiert nichts.
Dass es nicht an einem blockierten Hauptthread liegt (was schon deshalb nicht sein kann, weil der in der Zeit NICHTS tut), ist auch daran zu erkennen, dass über einen Klick auf das Programmicon in der Taskleiste das Formular sofort sichtbar wird.
Zitat:
Wie mache ich aus einer normalen Form ein nicht minimierbares Fenster?
BorderStyle? bsDialog
Danke, ich denke, damit ist das Problem gelöst.
Mit XE7, WIN8.1 geht folgender Test-Code:
...
Seltsam: Das EXE funktioniert, aber wenn ich den Code in mein Programm einbaue, funktioniert es nicht. Ich kann es mir zwar nicht so recht vorstellen, aber könnte es einen Unterschied ausmachen, ob das Programm sich selbst minimiert hat, wie in deinem Beispiel, ober ob das Programm manuell per Klick auf den Minimieren-Button durch den Programmbenutzer minimiert wurde?
Leider lässt sich dein Projekt mit meinem Delphi 2009 nicht kompilieren, ich bekomme die Fehlermeldung
Code:
[MSBuild Fehler] 0 ist ein ungültiger Wert für den DebugInformation-Parameter der DCC-Aufgabe. Der DebugInformation-Parameter gehört zum System.Boolean-Typ.
Funktioniert das Restore des Fensters in denem Beispielprogramm immer noch, wenn du in der Button1Click Routine die Zeile
Self.WindowState:= wsMinimized;
herausnimmst und statt dessen nach dem Klick auf den Button das Fenster manuell minimierst?