硬汉嵌入式论坛

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

[emWin] 关于对话框删除的疑问,内存释放不彻底

[复制链接]

15

主题

74

回帖

119

积分

初级会员

积分
119
发表于 2020-7-1 16:50:52 | 显示全部楼层 |阅读模式
创建对话框的背景是窗口,窗口上有两个Listview,对话框显示Listview某一单元格的内容,但是GUI_EndDialog后,内存释放不彻底,每次关闭对话框,都会有68个字节未释放,对话框的内容只有一个多行文本控件,删除是在WM_TIMER消息里删除的,有大佬分析下原因么,感激不尽
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115787
QQ
发表于 2020-7-1 17:57:20 | 显示全部楼层
listview控件是不需要单独删掉的。

GUI_EndDialog前,你单独删除下listview看看正常不。
回复

使用道具 举报

15

主题

74

回帖

119

积分

初级会员

积分
119
 楼主| 发表于 2020-7-1 20:25:02 | 显示全部楼层
eric2013 发表于 2020-7-1 17:57
listview控件是不需要单独删掉的。

GUI_EndDialog前,你单独删除下listview看看正常不。

我描述有问题,粗心了,GUI_EndDialog的是对话框,明天试试listview看是否有问题
回复

使用道具 举报

15

主题

74

回帖

119

积分

初级会员

积分
119
 楼主| 发表于 2020-7-3 10:54:09 | 显示全部楼层
eric2013 发表于 2020-7-1 17:57
listview控件是不需要单独删掉的。

GUI_EndDialog前,你单独删除下listview看看正常不。

经过测试,在模拟器上测试关闭对话框不会出现内存释放不彻底的问题,移植到板子上也不会出现,但是在具体的程序中,还是会出现内存释放不彻底,郁闷
回复

使用道具 举报

15

主题

74

回帖

119

积分

初级会员

积分
119
 楼主| 发表于 2020-7-3 15:20:32 | 显示全部楼层
eric2013 发表于 2020-7-1 17:57
listview控件是不需要单独删掉的。

GUI_EndDialog前,你单独删除下listview看看正常不。

原因找到了,因为创建对话框是在WM_TIMER消息内创建的,但是并没有删除定时器,关闭对话框后,定时器所占的内存没有释放。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115787
QQ
发表于 2020-7-4 13:24:08 | 显示全部楼层
mmo 发表于 2020-7-3 15:20
原因找到了,因为创建对话框是在WM_TIMER消息内创建的,但是并没有删除定时器,关闭对话框后,定时器所占 ...

谢谢告知原因。

你的定时器如果是创建到对话框上的,删除对话框会自动删除的。
回复

使用道具 举报

15

主题

74

回帖

119

积分

初级会员

积分
119
 楼主| 发表于 2020-7-18 10:15:19 | 显示全部楼层
eric2013 发表于 2020-7-4 13:24
谢谢告知原因。

你的定时器如果是创建到对话框上的,删除对话框会自动删除的。

大佬客气了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-19 05:22 , Processed in 0.338302 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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