Delphi - 控制对话框表单从线程显示状态

时间:2013-06-14 17:06:20

标签: multithreading delphi dialog

在我的应用程序中,我在一个线程中执行大量任务,例如将查询倍数查询到大数据库。 我创建了一个对话框(自定义表单),其中有一个进度条和状态栏,向最终用户显示你做了什么软件,我可以将进度状态与callbackmode同步而没有问题。

我的问题是如何控制此对话框(自定义窗体)在模式中显示,直到线程执行,并且可以在线程最终化时关闭。

1 个答案:

答案 0 :(得分:1)

在调用ShowModal()之前启动线程,或者让表单的OnShow事件启动该线程。使用线程的OnTerminate事件(在主线程中运行)到Close()表单,这将导致ShowModal()退出。当线程正在运行时,它可以使用TThread.Synchronize()或自定义窗口消息来根据需要更新表单。

相关问题