Thema: Delphi NonVCL: SplashScreen

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

AW: NonVCL: SplashScreen

  Alt 12. Jun 2012, 10:08
Wenn du den SplashScreen im Thread erstellst (nicht im Hauptthread) und im Threrad natürlich eine MessageLoop (Nachtichtenverarbeitung) enthalten ist, dann läuft das Fenster vollkommen unabhängig von der VCL und es gibt auch keine Probleme mit dem Multithreading und vorallem nicht mit eventuellen langen Pausen im Huptthread.

Mit dem Thread wo das CrerateWindow aufgerufen wurde, wird die Messagebehandlung des Controls verbunden und alles was über die MessageQueue läuft, läuft dann in der MessageQueue dieses Threads und auch die ganzen internen Prozesse deiser Komponente laufen dann in diesem Thread.

VCL-Komponenten müssen nur im Hauptthread laufen, da sie intern gemeinsame und nicht threadsichere Resourcen der VCL verwenden, wie z.B. irgendwelche Listen wo sie sich registrieren oder gemeinsam genutzte Fonts usw.
$2B or not $2B

Geändert von himitsu (12. Jun 2012 um 10:10 Uhr)
  Mit Zitat antworten Zitat