金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 3063|回复: 4

超全局变量赋值后被再次初始化

[复制链接]

1

主题

3

帖子

3

积分

Rank: 1

等级: 新手上路

注册:
2023-2-5
曾用名:
发表于 2023-4-12 22:53 | 显示全部楼层 |阅读模式


如下样例代码,后台程序实盘跑时NUM变量赋值为2,goto之后NUM被重新初始化为0了。请问这是什么原因导致的。

GLOBALVARIABLE:NUM=0;
debugfile('d:\log\test.txt',numtostr(date+19000000,0)&' '&numtostr(time,0)&' '&'TIAOZHU前NUM:=: %.3f',NUM);
TIAOZHUN@;
IF NUM>1 THEN
BEGIN
        debugfile('d:\log\test.txt',numtostr(date+19000000,0)&' '&numtostr(time,0)&' '&'NUM大于1: %.3f',NUM);
END
IF NUM=0 THEN
BEGIN
        NUM:=2;
        debugfile('d:\log\test.txt',numtostr(date+19000000,0)&' '&numtostr(time,0)&' '&'NUM:=: %.3f',NUM);
        GOTO TIAOZHUN;
END

回复

使用道具 举报

37

主题

1万

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2023-4-13 08:44 | 显示全部楼层
本帖最后由 技术006 于 2023-4-13 08:45 编辑

检查下其他地方对NUM变量的操作。上面代码部分不会将已经初始化后的全局变量再次赋值为0。
其次代码中不要用goto这种逻辑。它不符合序列变量的机制。存在不可控因素
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

3

帖子

3

积分

Rank: 1

等级: 新手上路

注册:
2023-2-5
曾用名:
 楼主| 发表于 2023-4-13 21:10 | 显示全部楼层
其他地方除了判断之外没有对NUM变量的操作了。如果不能使用GOTO,有没有其他方法可以替代GOTO实现程序从指定地方运行
回复

使用道具 举报

1

主题

3

帖子

3

积分

Rank: 1

等级: 新手上路

注册:
2023-2-5
曾用名:
 楼主| 发表于 2023-4-13 21:20 | 显示全部楼层
技术006 发表于 2023-4-13 08:44
检查下其他地方对NUM变量的操作。上面代码部分不会将已经初始化后的全局变量再次赋值为0。
其次代码中不要 ...


如果不能使用GOTO,有没有其他方法可以替代GOTO实现程序从指定地方运行,主要是想跳过某段代码逻辑
回复

使用道具 举报

37

主题

1万

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2023-4-13 21:24 | 显示全部楼层
if语句就行,条件不满足。它就不会执行if内部的逻辑
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2025-8-25 14:33 , Processed in 0.121051 second(s), 28 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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