Hallo *.*
auch wenn mein Thema mit dieser
kürzlich gestellten Frage verwandt ist, so liegt die Sache doch anders.
Ich habe eine
DLL (meine eigene), die in einem Host läuft (hier Total Commander). Ich erzeuge ein
VCL-Fenster in meiner
DLL und möchte dieses modal anzeigen. Benutze ich hierfür
Delphi-Quellcode:
fmPluginSettings:= TfmPluginSettings.Create(nil);
try
fmPluginSettings.Init;
fmPluginSettings.ShowModal;
finally
fmPluginSettings.Free;
end;
wird ein neuer Button auf der Taskleiste erzeugt - unschön. Also muss ich auf irgendeine Weise das Parentfenster setzen. Mache ich das mit
fmPluginSettings:= TfmPluginSettings.CreateParented(AhParent);
verschwindet zwar der Button auf der Taskleiste, aber man kann das Fenster von Total Commander nicht mehr durch Klick auf die Taskleiste nach vorn holen, wenn eine andere Anwendung im Vordergrund ist und mein Dialog gerade angezeigt wird - ebenfalls unschön.
Was ich bisher benutzt habe, muss ich aus anderen Gründen vermeiden:
Application.Handle:= AhParent;
denn das gibt eine
Access Violation beim Anzeigen von Tooltips oder der Verwendung von TActionList, aber lustigerweise nur unter 64 Bit.
Ein solches oder ähnliches Problem hatte doch bestimmt schon einmal irgendjemand, oder?
Ich bringe die Frage nochmal auf den Punkt: Wie kann ich einen modalen Dialog in einer
DLL erzeugen, ohne einen Eintrag in der Taskleiste zu erzeugen und zwar so, dass die Host-Anwendung durch Klick auf die Tasleiste in den Vordergrund kommt, auch wenn der modale Dialog gerade angezeigt wird?
MfG Dalai