在对数据库的操作时,有时要用一个子线程来进行后台的数据操作.比如说数据备份,转档什么的.在主窗口还能同是进行其它操作.而有时后台每处理一个数据文件,要向主窗口发送消息,让主窗口实时显示处理进度在窗口上(可视),同时进行日志处理等.我用的是下面的方法:
【程序编程相关:项目后期要区别对待客户的新增需求】 【推荐阅读:Three view points of】[1]用到的api函数: 【扩展信息:The UNIX Shell 】 registerwindowsmessage ---------------------- 函数功能:该函数定义一个新的窗口消息,该消息确保在系统中是唯一的.返回的消息值可在调用函数sendmessage或postmessage时使用. function registerwindowmessage(lpstring: pchar): uint; stdcall; sendnotifymessage ---------------------- 函数功能:该函数将指定的消息发送到一个窗口. 如果该窗口是由调用线程创建的;此函数为该窗口调用窗口程序, 并等待窗口程序处理完消息后再返回. 如果该窗口是由不同的线程创建的,此函数将消息传给该窗口程序, 并立即返回,不等待窗口程序处理完消息. sendnotifymessage(hwnd hwnd,uint msg,wparam wparam,lparam iparam); broadcastsystemmessage ---------------------- 函数功能:该函数发送消息给指定的接受者. 接受者可以是一个应用程序.安装驱动器.网络驱动器.系统级设备驱动器 或这些系统组件的组合. [2]过程: type tform1 = class(tform) ............... ............... private msg: cardinal; protected procedure wndproc(var message: tmessage); override; public ... 下一页