Hallo und guten Tag an alle,
keine Angst, dies ist kein Push. Wollte nur bemerken, dass nachdem ich meinen restlichen Quellcode für das Laden des Programmes gründlich auseinander genommen hab, ist mir folgendes aufgefallen:
Delphi-Quellcode:
// irgendwo in einer meiner Klassen habe ich folgende Dummheit begangen, welche zu dem Fehler führte
if Bewegtsich(1) or Bewegtsich(2) then
begin
repeat
//application.processmessages; // <--- hier lag das Problem, warum das Programm die Nachrichtenschleife blockiert
until (not Bewegtsich(1) ) and (not Bewegtsich(2));
Das Application.Processmessages hatte ich irgendwann mal auskommentiert, als ich das Problem hatte, dass mein SplashScreen bei dem eine For-Schleife für das Ein- und Ausblenden zuständig ist auch die ProzessMessages aufrief. Dies führte zu einem regelmäßigen Freeze des Splash´s und das Programm lief nicht mehr weiter. deswegen hatte ich dass damals auskommentiert.
Nachdem ich das Application.Processmessages wieder aktiviert hatte, konnte ich auch ohne Probleme wieder beim Laden des Programmes von meinem Thread in mein Hauptprogramm eingreifen.
Die Kommunikation zwischen Thread und Hauptprogramm habe ich über 2 WM_User-Messages gelöst, das eine sagt dem Hauptprogramm, dass ein Nothalt ausgelöst werden soll, die andere dass der Nothalt gelöst werden kann.
Sicher sind das keine "neuen" Erkenntnisse, habe es lediglich hier ergänzt, damit andere die über die SuFu hier her kommen auch wissen, wie ich das Problem ohne neue Nachrichtenfunktion lösen konnte.
MfG
BAMatze
2. Account Sero