Open a Modal dialog Asynchronously in Delphi

Normally when you open a dialog using ShowModal, execution of the current thread halts until the dialog is closed. I want to display a Modal dialog, but continue execution on the current thread while the dialog is still open.

By "Modal" I simply mean that the user can not interact with any of the other forms of the application till the modal dialog is closed.

The Delphi ShowModal function provides a slightly different definition of "Modal" to the one I require:

A modal form is one where the application can't continue to run until the form is closed.

Currently I have code like this:

dialog.Parent:=self;
dialog.Show;
// keep doing stuff...

This works, except I can still interact with the parent window (move it around, close it etc)

How do I show a form that stops the user from interacting with the parent window, without using ShowModal?

6
задан awmross 22 November 2010 в 06:06
поделиться