delphi多线程的实例 [Delphi]如何利用Sendmessage或Postmessage函数?~?

[更新]
·
·
分类:互联网
2205 阅读

delphi多线程的实例

[Delphi]如何利用Sendmessage或Postmessage函数?~?

[Delphi]如何利用Sendmessage或Postmessage函数?~?

其中MyId是要返回的字符串
在主窗口中使用如下代码:
先在public中加入消息函数的声明Delphi代码procedureWMTestEnd(var
AMsg:TMessage)message
WM_TEST_END//消息函数
其中WM_TEST_END是自定义的消息
再在implementation写函数Delphi代码procedureTForm1.WMTestEnd(var
AMsg:TMessage)vars:stringbegin
s:string(Pointer(AMsg.wParam)^)
(s)end
需要注意的是,如果你在线程中,一定要使用SendMessage来发送消息,如果使用PostMessage会出错。原因我想是因为
PostMessage发送消息后线程会继续执行下去,当主窗口收到这个消息并处理时,线程可能已经结束了,这时指向字符串的那个指针就会出错;而
SendMessage发送消息后会将线程挂起,直到消息处理完成后,才继续执行下面代码。

lu设计主要负责哪些?

Lu是一个可对字符串表达式进行动态编译和运行的动态链接库(dll),是一种易于扩展的轻量级嵌入式脚本,提供自动内存管理,也可以手动管理内存。Lu有丰富的运算符和数据类型,大多数运算符可进行重载。Lu的优势在于简单易用和可扩展性强。Lu是强类型的脚本。Lu可对编译及运行错误进行准确定位。Lu可用于各类数学软件的设计,也可用作报表处理、web、组态软件、游戏等的脚本,具有很高的执行效率。
  Lu用stdcall调用协议输出了动态库函数,可供C/C 、VB、delphi、FORTRAN等程序使用。
  MLu是程序和Lu核心库之间的一个接口库,MLu会自动加载Lu核心库和动态加载多个Lu扩展库,简化了Lu系统的使用;MLu可对Lu源程序进行模块化编译,能够编译运行具有固定格式的源程序(字符串表达式),源程序中可以使用C 风格的注释。此外,MLu还提供了多个线程互斥地访问Lu资源的功能;提供了Lu运行监视器,以退出耗时较长的程序;提供在脚本中动态编译函数的功能;提供错误处理函数,实现错误(异常)处理的恢复模型等等。