Hello, I need a solution too for the same problem. In the following code: procedure TMainForm.UniButton1Click(Sender: TObject); begin   try     ShowMask( 'blocking mask...');     unisession.synchronize;     sleep(1000);     showmessage('step 1');       sleep(1000);     showmessage('step 2');     sleep(1000);     showmessage('step 3');   finally     HideMask;   end; end; the mask disappears between step 1 and step 2. The same behaviour applies to MessageDlg and ShowModal...