Call the Windows MessageBox() API and pass the handle to the active form. In fact, my code uses Application.MainFormHandle all the time, so I'm sure this is a reasonable and simple approach.
This will have an advantage in the quality of the built-in dialogue of the system, and not in the home version of Delphi. It also supports clipboard operations.
If you want to get very interesting, you can use the Vista dialog box, but it is much more complicated and you obviously do not need it for such a simple dialog.
source share