分派异步事件?
解决:原来我几乎做对了所有事情,而且wxLua库运行良好。问题在于将在Debug中编译的库与在Release中编译的库混合在一起。
我正在使用wxLua制作一个界面,但我面临着几个崩溃问题。在寻找其源头之后,我找到了它。我正在加载标准lua解释器,而不是将我的C++代码与wxLua链接在一起,我创建一个标准lua解释器,然后在其中执行require("wx"),这会加载wx.dll。我有一个可能的原因的想法,所以我会问一下,以防这是已知的行为。首先有几个问题?
首先在wxWidgets中,事件(单击、单元格更改、树项激活等)是同步还是异步调度的?
如果是异步的,是否可能同时针对同一个lua状态调度两个事件?。
我有一个带有几个项目和网格的树控件,所以当激活树中的项时,网格会被填充。我当前连接到树项激活、树项右键单击、网格单元格更改事件。
假设主循环上运行的wxWidget线程是A(我相信它是加载lua脚本的线程,不是吗?),当我激活树节点时,将在事件队列中排队一个事件(evt1),主循环将检查待处理事件时它将找到事件(evt1)并将其调度(但是处理程序的lua函数将由运行主循环的线程(A)调用还是将创建第二个线程(B)?)。
如果问题5是新线程将被创建以执行处理程序,则树中的另一个事件(evt2)是否可以排队在事件队列中,然后主循环线程(A)调度它,创建一个新线程(C)访问并修改lua状态,而在此期间,先前的事件线程(B)尚未返回?
到目前为止,我的整个测试都表现为重绘网格,同时在树中点击了几个计时器,因此事件处理程序不会立即返回。
我认为之前的所有问题都可以概括为:wxLua是否保护从wxLua中访问lua状态?
提前致谢。
最好的问候。
Javi。
注:我将在邮件列表中发布同样的问题,只是让您知道。我将从一个复制解决方案到另一个。
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
我不知道 lua 到底是什么,但是 wxWidgets GUI 事件都在主线程中处理。不会创建新的线程。