棕榈油种植周期:在易语言中多线程超稳定用法 - 易语言资源专区 - 蓝芯技术 编程技术论坛|易语言技术交流...
来源:百度文库 编辑:偶看新闻 时间:2024/04/27 21:38:54
在易语言中多线程超稳定用法
大家好,第一期易语言电子期刊与大家见面了。在此开设了一个“易语言编程技巧”的栏目,将一些在易语言中使用的技巧介绍给大家,希望大家喜欢。
不知大家试了没有,在易语言自带多线程的使用中,会发现一些不稳定的现象,如:程序运行不稳定、退出程序时报错、有死机现象、多线程中不能直接销毁组件等。例如运行以下代码,程序会自动退出。
.子程序 _按钮1_被单击
启动线程 (多线程子程序, )
.子程序 多线程子程序
按钮1.销毁 () ' 直接用就是不行哦!
现在,大家可以改变一下调用多线程的方式,用标签的反馈事件执行多线程子程序,
绝大部分不稳定问题都可以解决了。
具体执行代码要写在标签反馈事件中,多线程中再用标签的“调用反馈事件”去调用。易语言对这个标签组件的反馈事件做过特殊处理。
上述代码可写为以下,运行就可以通过了:
.子程序 _按钮1_被单击
启动线程 (多线程子程序, )
.子程序 多线程子程序
标签1.调用反馈事件 (0, 0, 假)
.子程序 _标签1_反馈事件, 整数型
.参数 参数一, 整数型
.参数 参数二, 整数型
按钮1.销毁 ()
注意:以下调用是错误的!
启动线程 (_标签1_反馈事件, )
及
.子程序 多线程子程序
_标签1_反馈事件() 标签反馈 事件 可以理解为 消息机制 类似于窗口函数,不过他只接受一种消息类型 就是 消息为32885 的消息 参数一 和参数二 是用来传递参数的, 和SENDMESSGAE 里的 wParam, lParam一样;注册热键命令会返回一个 热键的 ID标识符;用来标识你所注册的热键,然后如果有热键按下他会把这个 ID 发送给 你的反馈事件 的参数一 你注册一个热键这样写可以, 但是如果你注册俩以上的热键 必须要用全局变量来保存这个 “热键ID” 然后在 反馈事件里 判断(参数一=热键ID) 如果等于 就说明是你注册的热键按下了;目前易语言 里如果用 注册热键这个命令只有用标签的反馈事件了;至于标签事件可以有别的用处吗;回答你是有,例如:两个进程通讯 就可以发送消息用标签反馈事件处理,例如 SendMessage (参数一, 32885, 标签1.取窗口句柄 (), 100) 其中参数一 是另一程序的 标签窗口句柄;32885 意思就是发送标签反馈事件消息; 至于后面的取窗口句柄 就是 把参数一 里传递自己的标签句柄 给另一个程序, 后面的100 就是参数二了 代表 本进程发给另一个进程的数据~
大家好,第一期易语言电子期刊与大家见面了。在此开设了一个“易语言编程技巧”的栏目,将一些在易语言中使用的技巧介绍给大家,希望大家喜欢。
不知大家试了没有,在易语言自带多线程的使用中,会发现一些不稳定的现象,如:程序运行不稳定、退出程序时报错、有死机现象、多线程中不能直接销毁组件等。例如运行以下代码,程序会自动退出。
.子程序 _按钮1_被单击
启动线程 (多线程子程序, )
.子程序 多线程子程序
按钮1.销毁 () ' 直接用就是不行哦!
现在,大家可以改变一下调用多线程的方式,用标签的反馈事件执行多线程子程序,
绝大部分不稳定问题都可以解决了。
具体执行代码要写在标签反馈事件中,多线程中再用标签的“调用反馈事件”去调用。易语言对这个标签组件的反馈事件做过特殊处理。
上述代码可写为以下,运行就可以通过了:
.子程序 _按钮1_被单击
启动线程 (多线程子程序, )
.子程序 多线程子程序
标签1.调用反馈事件 (0, 0, 假)
.子程序 _标签1_反馈事件, 整数型
.参数 参数一, 整数型
.参数 参数二, 整数型
按钮1.销毁 ()
注意:以下调用是错误的!
启动线程 (_标签1_反馈事件, )
及
.子程序 多线程子程序
_标签1_反馈事件() 标签反馈 事件 可以理解为 消息机制 类似于窗口函数,不过他只接受一种消息类型 就是 消息为32885 的消息 参数一 和参数二 是用来传递参数的, 和SENDMESSGAE 里的 wParam, lParam一样;注册热键命令会返回一个 热键的 ID标识符;用来标识你所注册的热键,然后如果有热键按下他会把这个 ID 发送给 你的反馈事件 的参数一 你注册一个热键这样写可以, 但是如果你注册俩以上的热键 必须要用全局变量来保存这个 “热键ID” 然后在 反馈事件里 判断(参数一=热键ID) 如果等于 就说明是你注册的热键按下了;目前易语言 里如果用 注册热键这个命令只有用标签的反馈事件了;至于标签事件可以有别的用处吗;回答你是有,例如:两个进程通讯 就可以发送消息用标签反馈事件处理,例如 SendMessage (参数一, 32885, 标签1.取窗口句柄 (), 100) 其中参数一 是另一程序的 标签窗口句柄;32885 意思就是发送标签反馈事件消息; 至于后面的取窗口句柄 就是 把参数一 里传递自己的标签句柄 给另一个程序, 后面的100 就是参数二了 代表 本进程发给另一个进程的数据~
在C语言中关于返回值return的用法
C语言中return的用法???
c语言中cos函数的用法
C语言中fopen的用法
易语言是什么语言?
C语言 用定时器 模拟多线程
c语言...用法
c语言“%”用法
谁能告诉我C语言中指针的详细用法
c语言中getimage()的作用及用法
c语言中各符号的含义和用法
介绍下一C语言中exit()的用法
在QQ中切换语言
在C语言编程中,
请教CASE语句在C语言中的用法
语言 ’用法语怎么拚
c语言 delay()的用法?
while 的用法 c语言
易语言中如何实现在窗口中禁止点右键
在计算机学中, B语言比C语言难学吗?
单片机C语言编程中,怎样用C语言实现高效易用的堆栈?
为什么在WINME系统中播放易语言教程时无法显示
超简单的SQL语言!
在C语言中符号:=是什么意思