以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://www.weistock.com/bbs/list.asp?boardid=2)
----  公式运行奇怪bug  (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=167043)

--  作者:jimcnab
--  发布时间:2018/12/12 17:44:57
--  公式运行奇怪bug

金字塔版本V5.01,公式编辑器一个简单公式如下:

 

A := 5;
B := 0;
MSGOUT(1,B);
If A > 30000 THEN MSGOUT(1,\'ERROR\'); 

 

按正常逻辑,消息窗口应该不会输出“ERROR”,但实际运行这个公式时,消息窗口会输出“ERROR”。 如果把B := 0 改为 B := 1 则不会输出“ERROR”。

 

 


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2018/12/12 17:45:11编辑过]

--  作者:banzhuan
--  发布时间:2018/12/13 10:05:14
--  
本地核实的确有这样的情况,问题已提交,感谢对金字塔的支持
--  作者:马良
--  发布时间:2018/12/13 10:30:32
--  
你第一个msg的参数不是字符串,导致实际输出的是第二个字符串
--  作者:jimcnab
--  发布时间:2018/12/13 14:21:05
--  
 这也是金字塔的bug吧,在正常情况下,Msgout如果输出的变量不是字符串,则不输出任何内容。(严格说起来这样处理也不够完善,应该报错或者自动转换为字符串。金字塔有很多这种类似的不严谨的地方导致脚本出现各种奇怪错误又很难查。)

如果把语句B := 0 改为 B := 1 则不会输出“ERROR”,这就更没法解释了。
[此贴子已经被作者于2018/12/13 14:22:25编辑过]

--  作者:jimcnab
--  发布时间:2018/12/27 22:42:34
--  
这个问题你们是不打算处理了?

--  作者:banzhuan
--  发布时间:2018/12/28 8:56:10
--  
您好,问题之前已提交给产品部门了,会在后续发布的版本中进行修复