hpdell 发表于 2023-8-7 09:46:13

请教下,在AppWizard 回调里面获取滚轮选中的数据死机 ?


请教下,在AppWizard 回调里面获取滚轮选中的数据死机 ?





程序运行到 118 行死机,这个程序之前在 emwin 经典应用里面都是没有问题的,目前在 AppWizard 里面这样使用就不行了 ????????

在 AppWizard 里面貌似没有找到对应的 函数 ??











eric2013 发表于 2023-8-7 10:05:46

这种情况,说明你给的句柄不对。

hpdell 发表于 2023-8-7 10:19:22

eric2013 发表于 2023-8-7 10:05
这种情况,说明你给的句柄不对。

貌似这个句柄在经典模式里面就是这样使用的啊,难道在 这个 appwizard 里面这样使用不对 ??

eric2013 发表于 2023-8-7 16:28:55

hpdell 发表于 2023-8-7 10:19
貌似这个句柄在经典模式里面就是这样使用的啊,难道在 这个 appwizard 里面这样使用不对 ??
换个方式获取下句柄,这个是不对的,句柄不对,容易导致emWin硬件异常或者死机。

ou513 发表于 2023-8-7 20:20:59

研究了几天,还是没有搞明白APPWizard,自己的消息代码什么添加和响应的:Q:Q

hpdell 发表于 2023-8-9 09:52:17

本帖最后由 hpdell 于 2023-8-9 10:04 编辑

eric2013 发表于 2023-8-7 16:28
换个方式获取下句柄,这个是不对的,句柄不对,容易导致emWin硬件异常或者死机。
我找找看能否找到其他的句柄试试看



貌似是要使用这些 WHEEL 开头的函数吗 ? 之前使用的 LISTWHEEL 这个开头的函数貌似就不适用了



hpdell 发表于 2023-8-9 09:54:23

本帖最后由 hpdell 于 2023-8-9 09:57 编辑

ou513 发表于 2023-8-7 20:20
研究了几天,还是没有搞明白APPWizard,自己的消息代码什么添加和响应的
貌似 安福来大神有在 appwizard 里面获取 触发事件的模版,我目前在模版里面时可以检测到按钮,滚轮等发来的触发信息事件,就是在获取相关控件里面的数据时就不对,如果不用获取对应按钮里面的数据只是做个信息触发估计是没有问题的





这个就是在 appwizard 里面获取按钮信息事件的模版,目前获取滚轮不行,普通的 按钮 获取事件响应是正确的


eric2013 发表于 2023-8-9 10:31:48

hpdell 发表于 2023-8-9 09:54
貌似 安福来大神有在 appwizard 里面获取 触发事件的模版,我目前在模版里面时可以检测到按钮,滚轮等发 ...

好的,后面我也试试这个。

ou513 发表于 2023-8-9 10:54:58

hpdell 发表于 2023-8-9 09:54
貌似 安福来大神有在 appwizard 里面获取 触发事件的模版,我目前在模版里面时可以检测到按钮,滚轮等发 ...
我也参考这个模板,但是现在做简单的改变TEXT文本的文字都不行,不知道哪里用法不对。用如下的代码就是不行

eric2013 发表于 2023-8-9 10:59:44

ou513 发表于 2023-8-9 10:54
我也参考这个模板,但是现在做简单的改变TEXT文本的文字都不行,不知道哪里用法不对。用如下的代码就是不 ...

回调里面有个很关键的地方,要注释掉这两个

//      default:
//            WM_DefaultProc(pMsg);

ou513 发表于 2023-8-9 11:07:12

eric2013 发表于 2023-8-9 10:59
回调里面有个很关键的地方,要注释掉这两个

//      default:


这个注释掉了,这个不注释的话会卡死,但是就是这个文本内容改变不了,字体确可以改变,不知道哪里没整对吗?

hpdell 发表于 2023-8-9 11:16:03

eric2013 发表于 2023-8-9 10:31
好的,后面我也试试这个。

表示强烈支持哟

hpdell 发表于 2023-8-9 11:21:49

ou513 发表于 2023-8-9 10:54
我也参考这个模板,但是现在做简单的改变TEXT文本的文字都不行,不知道哪里用法不对。用如下的代码就是不 ...

貌似感觉 AppWizard 的回调函数里面不能够调用 emwin 最底层的 gui 函数,估计跟 AppWizard 的嵌套函数有关,应该最终还是得调用 AppWizard 提供的层的函数接口才行,但是有些又没有找到对应的接口函数,哎,貌似有些想放弃这个传说中比较牛鼻的 AppWizard 了,有可能也是我自己的实力不够哟:lol

ou513 发表于 2023-8-9 11:27:03

hpdell 发表于 2023-8-9 11:21
貌似感觉 AppWizard 的回调函数里面不能够调用 emwin 最底层的 gui 函数,估计跟 AppWizard 的嵌套函数有 ...

我也有这个感觉,AppWizard玩意单看软件操作和例程好像很厉害的样子,但是真实应用中,我们需要添加很多自己的逻辑功能,AppWizard就给了几个API接口函数,也没说具体什么用如何操作,也没有例程。就现在弄的最简单的修改个文本的文字都不行。

要说AppWizard 的回调函数里面不能够调用 emwin 最底层的 gui 函数嘛,但是修改字体大小又可以,蓝瘦香菇啊。

hpdell 发表于 2023-8-9 11:53:21

ou513 发表于 2023-8-9 11:27
我也有这个感觉,AppWizard玩意单看软件操作和例程好像很厉害的样子,但是真实应用中,我们需要添加很多 ...

估计应该只有部分支持调用底层接口的驱动函数吧,看来这个 AppWizard 还得继续升级,如果没有提供相关的例程,及相关的应用文档,捣鼓起来也费劲,

像 guix , threadx 他们家的,别人都是一整套提供的,捣鼓起来相对来说要好一点,就算文档看不懂,可以看例程也会明白一些东东,而这个 appwizard 在具体应用上完全就是懵逼哟 :lol,

eric2013 发表于 2023-8-9 14:07:40

ou513 发表于 2023-8-9 11:27
我也有这个感觉,AppWizard玩意单看软件操作和例程好像很厉害的样子,但是真实应用中,我们需要添加很多 ...
解决了,是调用的位置不对,不能放在WM_INIT_DIALOG消息里面了,这个里面的配置会被AppWizard的设置覆盖,我简单开了个单次定时器解决。



ou513 发表于 2023-8-9 14:13:40

本帖最后由 ou513 于 2023-8-9 14:16 编辑

eric2013 发表于 2023-8-9 14:07
解决了,是调用的位置不对,不能放在WM_INIT_DIALOG消息里面了,这个里面的配置会被AppWizard的设置覆盖 ...
硬汉这个办法不错,这个是通过刷新方式更新,就跟刷新数据一样。就是感觉AppWizard对emwin API函数配合上还是有差异,就是这个AppWizard手册里没有找到相关用法资料。视乎WM_INIT_DIALOG就相当于不能用户再初始化控件了,

hpdell 发表于 2023-8-9 15:17:30

eric2013 发表于 2023-8-9 14:07
解决了,是调用的位置不对,不能放在WM_INIT_DIALOG消息里面了,这个里面的配置会被AppWizard的设置覆盖 ...

你好大神,问一下,是不是所有获取数据,修改等都必须在这个 WM_TIMER里面进行 ?

难道是 appwizard 会自动开启定时器功能进行数据刷新吗 ?

我之前的那个滚轮获取数据 是没有在 WM_INIT_DIALOG 这个里面获取的也不行啊 ?


我的在这个里面获取按钮按下 后释放事件消息是可以的,但是获取滚轮还是不行




eric2013 发表于 2023-8-9 16:33:17

hpdell 发表于 2023-8-9 15:17
你好大神,问一下,是不是所有获取数据,修改等都必须在这个 WM_TIMER里面进行 ?

难道是 appwizard ...

你这个,干脆在AppWizard上把信号槽开出来。然后在对应的slot里面处理。

hpdell 发表于 2023-8-9 17:03:52

eric2013 发表于 2023-8-9 16:33
你这个,干脆在AppWizard上把信号槽开出来。然后在对应的slot里面处理。

不懂 信号槽 要怎么开呀 :'(   求指教

eric2013 发表于 2023-8-10 00:34:47

hpdell 发表于 2023-8-9 17:03
不懂 信号槽 要怎么开呀    求指教

https://www.armbbs.cn/forum.php?mod=viewthread&tid=98429


hpdell 发表于 2023-8-10 09:56:36

eric2013 发表于 2023-8-10 00:34
https://www.armbbs.cn/forum.php?mod=viewthread&tid=98429

好的,感谢感谢啊

hpdell 发表于 2023-12-31 11:50:21

本帖最后由 hpdell 于 2023-12-31 11:53 编辑

在 appWizard 里面获取滚轮数据终于可以了,

使用 APPW_GetValue 这个函数即可

eric2013 发表于 2024-1-2 01:30:42

hpdell 发表于 2023-12-31 11:50
在 appWizard 里面获取滚轮数据终于可以了,

使用 APPW_GetValue 这个函数即可

直接调用原始API应该也是可以的,估计得调整下姿势。

hpdell 发表于 2024-1-3 10:06:51

eric2013 发表于 2024-1-2 01:30
直接调用原始API应该也是可以的,估计得调整下姿势。

感觉调用原始函数太麻烦,而且关键是不会在 这个 appWizard 的架构上使用呀,

直接使用 这个 APPW_GetValue 函数非常方便喔,

现在 在 appWizard 上还有些应用没有搞定,也不知道该怎么用啊, 比如更改 显示字符颜色,显示 图片 , 满足某些条件时页面跳转 等 。。。

页: [1]
查看完整版本: 请教下,在AppWizard 回调里面获取滚轮选中的数据死机 ?