这个问题在这里已有答案:
我正在使用Delphi XE3。现在我需要在显示主窗体后弹出一个对话框。
我尝试将代码放在主窗体的FormShow事件处理程序中,如下所示:
with TMyChildForm.Create(Self) do
begin
ShowModal();
Free;
end;
但是,这将导致在显示主窗体之前弹出ChildForm。
你需要延迟显示弹出窗体,直到OnShow
退出。你可以:
PostMessage()
给自己一个自定义窗口消息。TThread.CreateAnonymousThread()
或TTask
来打电话给TThread.Queue()
。TThread.ForceQueue()
(仅限10.2东京及以后)。