Bei den eigenen Kapselungen der
VCL-Dialoge, ist bei uns ein NormalizeTopMost, bzw. NormalizeAllTopMosts drumrum. (ich weiß jetzt aber nicht ob das erst mit der Umstellunge auf XE rein kam, oder schon bei D7 so war)
Bei den Dialogen des Eurekalog, welche fast immer hinter anderen Fenstern fest hingen, wurde das über unter Anderem über OnModalBegin/OnModalEnd gelöst.
Was aber später dann Folgendes durch ersetzt wurde.
Delphi-Quellcode:
procedure THauptForm.EurekaLog1ExceptionActionNotify(EurekaExceptionRecord: TEurekaExceptionRecord; EurekaAction: TEurekaActionType; var Execute: Boolean);
begin
if not (edoShowInTopMostMode in CurrentEurekaLogOptions.ExceptionDialogOptions) then
CurrentEurekaLogOptions.ExceptionDialogOptions := CurrentEurekaLogOptions.ExceptionDialogOptions + [edoShowInTopMostMode];
if EurekaAction = atShowingExceptionInfo then
Application.NormalizeTopMosts;
if EurekaAction = atShowedExceptionInfo then
Application.RestoreTopMosts;
end;