以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  编译没问题,可是一应用我的电脑就卡住了  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=158005)

--  作者:qq代人发帖
--  发布时间:2017/9/18 11:31:24
--  编译没问题,可是一应用我的电脑就卡住了
NUM := 1;
OB: = 1;
WHILE  OB<32 DO BEGIN
    IF 1 THEN NUM := NUM + 1 ;  
    0B := OB+1 ;
END     
=============
这个语句编译没问题,可是一应用我的电脑就卡住了,金字塔甚至会崩溃,是怎么回事.

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

--  作者:无为剑
--  发布时间:2017/9/18 12:26:20
--  
死循环了
--  作者:死亡旋律
--  发布时间:2017/9/18 12:29:33
--  

能够解释一下什么原因吗??怎么都看不出来为什么会死循环。。而且我修改了一下变成下面这种程序,仍然主模块会崩溃。

 

NUM0:0;
NUM1:0;
FOR OB=1 TO 3  DO
    NUM1:=NUM0+1;


--  作者:wenarm
--  发布时间:2017/9/18 13:16:07
--  

因为WHILE 进入了了死循环状态,并且该公式一直处于被加载的状态下。

你可以从菜单栏的文件---恢复历史文档,中将公式恢复到使用WHILE之前的节点上,然后在会用for语句处理。

 


--  作者:死亡旋律
--  发布时间:2017/9/18 13:54:32
--  

重启电脑也不行吗???


--  作者:wenarm
--  发布时间:2017/9/18 14:01:06
--  

不行,软件启动时,公式还是会被加载上的。恢复到上一个节点后,是为了不让这个WHILE 的公式被再次加载造成死循环


--  作者:无为剑
--  发布时间:2017/9/18 15:25:38
--  
你这个公式一个是0B,一个是OB,建议公式中慎用字母O,会容易与0混淆