609177738 发表于 2023-2-28 00:15:03

[BUG]PC设计器常量类传值错误

先上结论:
该BUG现象由用户"九哥"在使用Ex_DirectUI界面库时发现,本人排查原因得出的结论
该BUG并不影响调试和发布版的实际效果.

窗口组件的属性"文本对齐"属性的参数为: 常量类-整数 时
在设计器里传递的值并不是 常量名对应的值 ,而是"常量成员"在"常量类"里的顺序索引值,从0开始的
----
如图1和图2:

在图2的情况下,我在 "文本对齐"属性写方法下 调试输出参数值 ,
用Dbgview软件查看输出值为3 ,正对应 "右边"在"EX文本对齐方式"的成员顺序索引3

然后为了验证, 如图3和图4:


我将"右边"常量成员放到最前面,重新编译界面插件,Dbgview输出0
----
然后我又想,为什么至今无人发现(发帖)???
我翻了翻WTL界面库 里面的组件,
例如滑块条,报表 相关参数类型为常量类-整数的,其常量成员值都是顺序从0值开始往下顺的........
------------------------------------------------------
@飞扬工作室
@飞扬工作室
@飞扬工作室

创世魂 发表于 2023-2-28 08:23:13

常量类咋可能有bug。。有bug早就被发现了。。已经广泛使用了。。

dengzf 发表于 2023-2-28 08:36:31

创世魂 发表于 2023-2-28 08:23
常量类咋可能有bug。。有bug早就被发现了。。已经广泛使用了。。

再仔细看看楼主的分析,已经分析的很明白了

创世魂 发表于 2023-2-28 08:40:56

设计值设计的选项所对应的值肯定是按照常量值来的。不按照常量值来那不乱套了。

只是下拉选项的顺序才会按照变量顺序来,值是不会变的。。



609177738 发表于 2023-2-28 13:29:21

创世魂 发表于 2023-2-28 08:40
设计值设计的选项所对应的值肯定是按照常量值来的。不按照常量值来那不乱套了。

只是下拉选项的顺序才会按 ...

帖子分析的过程很明显了 而且说的不是常量类自身的bug是设计器里参数类型为常量类的属性时 传值不对 这debug输出的是直接在 属性写方法下 直接output参数的   在软件正常调试发布时是正常使用的 没有问题的

dingpengdhr 发表于 2023-2-28 14:34:39

有没有一种可能就是说至今才被发现的原因是    用火山的人实在太少了?

609177738 发表于 2023-2-28 21:36:53

@飞扬工作室         回话呀

夏末雨蝉 发表于 2023-3-22 20:56:45

你好大佬,你的火山界面库有交流群嘛

4899 发表于 2023-5-24 16:30:45

@飞扬工作室 麻烦看一下这个问题,确实存在BUG

飞扬工作室 发表于 2023-5-24 18:18:03

该BUG并不影响调试和发布版的实际效果.

你的意思是这个问题在调试运行和编译时均不存在,只是影响在设计时的预览效果?


如果是这样的话,窗口属性中使用的常量类是必须要满足这个条件(从0开始顺序递增)的,你想一下,类似这样的常量类:


<火山程序 类型 = "通常" 版本 = 1 />

类 横向对齐模式 <公开 注释 = "提供各种横向对齐模式" @文档 = "category = \"其它\"" @常量类 = 整数>
{
    常量 左边 <公开 值 = @VHAM_LEFT>
    常量 居中 <公开 值 = @VHAM_HCENTER>
    常量 右边 <公开 值 = @VHAM_RIGHT>
}

它的值不是整数而是一个本地常量名称,如果常量值不能满足从0开始顺序递增,那么设计器是无法得知预览时需要传递过去的具体属性值的.

页: [1] 2
查看完整版本: [BUG]PC设计器常量类传值错误