Wenn ich ehrlich bin: Hab ich nicht wirklich verstanden ....
Was macht/bewirkt denn TThread.ForceQueue ?
@jaenicke
Welche Form hier (Main, Logger) entspricht denn bei deinem beispiel TForm235, TForm236 ?
Ich hab das hier momentan mal anders gelöst.
Inspiriert durch eine alte Splash-Screen-Demo habe ich meinem Logger eine Init-Prozedure spendiert und in die
DPR eingetragen.
(Verkürzte Version meines "neuen" Projekts, nach MainForm-Problem)
Delphi-Quellcode:
program ZATTOO;
uses
Vcl.Forms,
Logger5
in '
Logger5.pas'
{LOGWIN},
ZAT_MAIN
in '
ZAT_MAIN.pas'
{ZATMain},
LAV_Player
in '
LAV_Player.pas'
{LAV};
{$R *.res}
begin
LOGGER.Init;
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TZATMain, ZATMain);
Application.CreateForm(TLAV, LAV);
Application.Run;
end.
Das sieht zwar hier so aus, als wenn der Logger eine Form ist, ist aber eine normale
Unit, die sich selbst de-/intialisiert und ihr Fenster selbst erzeugt.
(Das hat den Grund darin, das es den Logger bereits gibt, bevor alles weitere initialisiert/startet und ich auch schon FormCreate's mitloggen kann)
Das geht problem- und tadellos.
MainForm hat nun nach dem Start trotz Logger-Fenster den Fokus.