硬汉嵌入式论坛

 找回密码
 立即注册
查看: 813|回复: 7
收起左侧

[emWin] emwin切换页面卡顿或是关闭不彻底

[复制链接]

2

主题

12

回帖

18

积分

新手上路

积分
18
发表于 2024-9-27 10:55:39 | 显示全部楼层 |阅读模式
在进行 emwin的页面切换时,出现两个页面同时显示的问题,并且无法进行其他的点击触发的事件反馈

代码如下

                                GUI_EndDialog(pMsg->hWin,0);
                                WM_DeleteWindow(pMsg ->hWin);
                                CreateWin_Monitor();

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
发表于 2024-9-27 16:15:01 | 显示全部楼层
仅 GUI_EndDialog(pMsg->hWin,0);即可

测试下我这个简易例子,看看正常不

https://www.armbbs.cn/forum.php? ... &extra=page%3D1

23.png
回复

使用道具 举报

2

主题

12

回帖

18

积分

新手上路

积分
18
 楼主| 发表于 2024-9-27 17:45:54 | 显示全部楼层
eric2013 发表于 2024-9-27 16:15
仅 GUI_EndDialog(pMsg->hWin,0);即可

测试下我这个简易例子,看看正常不

好,我去试试
回复

使用道具 举报

2

主题

12

回帖

18

积分

新手上路

积分
18
 楼主| 发表于 2025-2-13 21:12:59 | 显示全部楼层
eric2013 发表于 2024-9-27 16:15
仅 GUI_EndDialog(pMsg->hWin,0);即可

测试下我这个简易例子,看看正常不

硬汉哥,我这边界面还是释放的不够完全,动态资源一直减少
回复

使用道具 举报

2

主题

12

回帖

18

积分

新手上路

积分
18
 楼主| 发表于 2025-2-13 21:17:29 | 显示全部楼层
eric2013 发表于 2024-9-27 16:15
仅 GUI_EndDialog(pMsg->hWin,0);即可

测试下我这个简易例子,看看正常不

这个是工程
通过网盘分享的文件:try_freertos.7z
链接: https://pan.baidu.com/s/1pmy48P-LSTxkvhw-fPS7aw 提取码: 25ce
--来自百度网盘超级会员v4的分享
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
发表于 2025-2-14 09:28:27 | 显示全部楼层
lijinlong0720 发表于 2025-2-13 21:17
这个是工程
通过网盘分享的文件:try_freertos.7z
链接: https://pan.baidu.com/s/1pmy48P-LSTxkvhw-fP ...

对话框上所有控件资源创建都注释掉,试试还有问题不
回复

使用道具 举报

2

主题

12

回帖

18

积分

新手上路

积分
18
 楼主| 发表于 2025-2-14 11:29:25 | 显示全部楼层
eric2013 发表于 2025-2-14 09:28
对话框上所有控件资源创建都注释掉,试试还有问题不

硬汉哥,不行啊,我用GUI_ALLOC_GetNumFreeBytes检测,动态剩余内存还是一直减少
回复

使用道具 举报

354

主题

2162

回帖

3229

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3229
发表于 2025-2-14 14:33:00 | 显示全部楼层
lijinlong0720 发表于 2025-2-13 21:12
硬汉哥,我这边界面还是释放的不够完全,动态资源一直减少

注意,窗口销毁的时候,emwin需要等到执行gui_delay的时候才能真的销毁。
所以,如果窗口销毁后,马上又创建,就会多占用内存。
还有个可能性,就是按键触发窗口创建的时候,按键去抖可能不完善,导致一次按键抖动,连续创建了2个相同的窗口。
写代码的时候,尽量不要反复创建/销毁同一个窗口。同一个窗口,创建的时候,先判断窗口句柄是否有效,如果句柄已经是有效值,就不要执行创建;销毁的时候,也是先判断句柄的有效性,确认有效句柄再销毁窗口。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-4-25 21:27 , Processed in 0.261349 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表