OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 10998|回复: 12

emWin 多窗口调用和打开死机问题

[复制链接]

25

主题

96

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
297
金钱
297
注册时间
2016-6-2
在线时间
49 小时
发表于 2016-8-23 13:21:25 | 显示全部楼层 |阅读模式
3金钱
本人在用多窗体调用和切换时,来回几次就死机了。
创建窗口有很多函数
WM_CreateWindow()
WM_CreateWindowAsChild()
WINDOW_CreateEx()
WINDOW_CreateIndirect()
GUI_CreateDialogBox()
GUI_ExecCreatedDialog()
GUI_ExecDialogBox()

停止也有不少函数
GUI_EndDialog()
WM_DeleteWindow()

我需要一个主窗体,下面4个二级窗体实现不同功能,二级窗体还有一些3级窗体实现一些功能。
究竟使用哪个函数去创建和停止窗体?
WM_HWIN GUI_CreateDialogBox(const GUI_WIDGET_CREATE_INFO * paWidget,int NumWidgets, WM_CALLBACK * cb,WM_HWIN hParent, int x0,int y0);
这个hParent到底如何选择?WM_HBKWIN是否可以一直用?

看了一些官方的例程,在simulation时一直没问题,到移植到单片机就出问题了。
文档解释很模糊。
请哪位大侠帮忙指教一下!

最佳答案

查看完整内容[请看2#楼]

问题已解决,尽量使用自己的代码,使用emWin的代码,会出现内存泄露。原因找不到。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

25

主题

96

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
297
金钱
297
注册时间
2016-6-2
在线时间
49 小时
 楼主| 发表于 2016-8-23 13:21:26 | 显示全部楼层
问题已解决,尽量使用自己的代码,使用emWin的代码,会出现内存泄露。原因找不到。
回复

使用道具 举报

25

主题

96

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
297
金钱
297
注册时间
2016-6-2
在线时间
49 小时
 楼主| 发表于 2016-8-23 21:38:26 | 显示全部楼层
自己顶!
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2016-8-24 20:25:59 | 显示全部楼层
帮顶
回复

使用道具 举报

25

主题

96

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
297
金钱
297
注册时间
2016-6-2
在线时间
49 小时
 楼主| 发表于 2016-8-25 07:31:44 | 显示全部楼层
附上代码,哪位帮忙看看,调用输入键盘,回来就有内存没释放。

Desktop.rar

6.4 KB, 下载次数: 416

回复

使用道具 举报

6

主题

104

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
436
金钱
436
注册时间
2015-12-11
在线时间
53 小时
发表于 2016-8-29 08:09:39 | 显示全部楼层
是不是起始任务堆栈设置过小?
把相应的堆栈改大一些试试
Try again and there is nothing left to say.
回复

使用道具 举报

35

主题

172

帖子

0

精华

高级会员

Rank: 4

积分
769
金钱
769
注册时间
2016-3-17
在线时间
178 小时
发表于 2016-9-6 08:51:25 | 显示全部楼层
请问楼主,在进行窗口切换时,怎么从子窗口返回到主窗口啊? (就是怎么设置一个返回BUTTON键)
回复

使用道具 举报

104

主题

150

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1791
金钱
1791
注册时间
2014-1-4
在线时间
556 小时
发表于 2016-9-18 22:33:20 | 显示全部楼层
lancker 发表于 2016-8-25 07:31
附上代码,哪位帮忙看看,调用输入键盘,回来就有内存没释放。

请教:键盘的字符太小,如何能够改大点?谢谢
回复

使用道具 举报

104

主题

150

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1791
金钱
1791
注册时间
2014-1-4
在线时间
556 小时
发表于 2016-9-18 23:35:08 | 显示全部楼层
lancker 发表于 2016-8-25 07:31
附上代码,哪位帮忙看看,调用输入键盘,回来就有内存没释放。

请教:键盘的字符太小,如何能够改大点?谢谢
回复

使用道具 举报

25

主题

96

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
297
金钱
297
注册时间
2016-6-2
在线时间
49 小时
 楼主| 发表于 2016-9-21 16:22:44 | 显示全部楼层
mcza30 发表于 2016-9-18 23:35
请教:键盘的字符太小,如何能够改大点?谢谢

自己做的可以任意更改
回复

使用道具 举报

0

主题

11

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2019-3-1
在线时间
6 小时
发表于 2019-8-28 10:57:01 | 显示全部楼层
lancker 发表于 2016-8-23 13:21
问题已解决,尽量使用自己的代码,使用emWin的代码,会出现内存泄露。原因找不到。

我最近也遇到这个问题了,一直不知道原因,很烦恼。请问楼主尽量使用自己的代码是什么意思?创建窗口有很多函数
WM_CreateWindow()
WM_CreateWindowAsChild()
WINDOW_CreateEx()
WINDOW_CreateIndirect()
GUI_CreateDialogBox()
GUI_ExecCreatedDialog()
GUI_ExecDialogBox()

停止也有不少函数
GUI_EndDialog()
WM_DeleteWindow()

这些函数尽量少用吗?那该用什么函数呀。
回复

使用道具 举报

7

主题

87

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
301
金钱
301
注册时间
2016-10-1
在线时间
115 小时
发表于 2022-1-28 10:44:20 来自手机 | 显示全部楼层
我现在跑emwin demo反复跑,也会发现花屏或者死机问题http://www.openedv.com/forum.php?mod=viewthread&tid=333254&extra=page%3D1&mobile=2
回复

使用道具 举报

1

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2022-3-20
在线时间
16 小时
发表于 2022-3-21 19:39:46 | 显示全部楼层
再頂一下
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 10:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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