错误、漏洞、问题 - 页 3128

 
Nikolai Semko # :

啊,这个主题在调试中不工作了吗?
悲伤:() 在我的工作中非常有用


4个多月前报告.没有人关心。

Новая версия платформы MetaTrader 5 build 2980: Push-уведомления о торговых операциях
Новая версия платформы MetaTrader 5 build 2980: Push-уведомления о торговых операциях
  • 2021.08.18
  • www.mql5.com
В пятницу 18 июня 2021 года будет выпущена обновленная версия платформы MetaTrader 5...
 
Vladimir Pastushak #:
金融。一个非财务问题

打开,开始: 2021.09.02 10:45,#3182963

你好!由于 "新申请 "按钮不起作用,所以激活了该票。

请求的原因:最后4种语言,韩语、意大利语、法语、土耳其语的描述没有保存在信号中。

提出来,因为它没有作用。

 
需要一个脚本,在所有运行的MT4/5终端上运行该脚本/服务。你能不能建议一下PostMessage的参数。
 
fxsaber #:
需要一个脚本,在所有运行的MT4/5终端上运行该脚本/服务。你能否建议一下PostMessage的参数。

我会做一个服务,等待命令文件出现在公共文件夹中。嗯,还有一个创建这样一个命令的脚本。

 
Andrey Khatimlianskii #:

我会做一个服务,等待命令文件出现在公共文件夹中。嗯,还有一个创建这样一个命令的脚本。

非常拐弯抹角,而MT4仍然是相关的。

 

我不敢说这是个错误。所以我只想说,我注意到if 语句的一个特殊性。我怀疑其他语言也可能是这样的。

if(a && Array[over_index]>val) {...}

如果a变成了真的,检查会跳到Array[over_index],在这里,终端开始崩溃,通过'数组超出范围'的部分,这绝对是公平的。但是如果a变成了假的,终端就不会检查Array[over_index]条件,因此也就不会检查索引冗余,如果 会进一步跳过,而编码者就不会知道在他的程序中存在一个索引不存在的数组......或者说是一个现有的但多余的。

也许应该有一个修复方法,以便对"数组超出范围" 的检查会进行到if 循环的最后,并输出相同的信息?或者它将大大降低操作员的速度?


 
x572intraday #:

我不敢说这是个错误。所以我只想说,我注意到if 语句的一个特殊性。我怀疑这可能也适用于其他语言。

如果a为真,检查会跳到Array[over_index],这里编译器开始崩溃"数组超出范围"的部分,这是非常真实的。但是如果a变成了假的,终端就不会检查Array[over_index]条件,因此也就不会检查索引冗余,如果会进一步跳过,而编码者就不会知道在他的程序中存在一个索引不存在的数组......或者说是一个现有的但多余的。

也许应该有一个修复方法,以便对"数组超出范围" 的检查会进行到if 循环的最后,并输出相同的信息?或者它将大大降低操作者的速度?


在你的情况下不是这样,因为这两个条件都必须得到满足。但如果你设定

if(a || Array[over_index]>val) {...}
那么,是的。如果条件'a'得到满足,第二个条件将不被检查。这已经争取了多年,现在你建议我们回到上个世纪......
 
x572intraday #:

我不敢说这是个错误。所以我只想说,我注意到if 语句的一个特殊性。我怀疑这可能也适用于其他语言。

如果a为真,检查跳到Array[over_index],这里终端开始崩溃,通过'数组超出范围'的部分,这是非常真实的。但是如果a变成了假的,终端就不会检查Array[over_index]条件,因此也就不会检查索引冗余,如果 会进一步跳过,而编码者就不会知道在他的程序中存在一个索引不存在的数组......或者说是一个现有的但多余的。

也许应该有一个修复方法,以便对"数组超出范围" 的检查会进行到if 循环的最后,并输出相同的信息?或者它将大大降低操作者的速度?

如果你改变行为,正常编写的程序将直接 "崩溃",而没有编写的程序将很难编写。

继续阅读,那里有一些描述

 
x572intraday #:

我不敢说这是个错误。

这在任何地方都是正常的行为。 如果你想让参数一直被计算,就在if-之前计算它。

 
Alexey Viktorov #:

在你的案例中,情况并非如此,因为两个条件都必须满足。但如果你把这个

那么,是的。如果条件'a'得到满足,第二个条件将不会被检查。这已经争取了多年,现在你建议我们回到上个世纪......

检查

// +--------
int start()
{
 if(false && Test()) { 
  Print("if Yes"); // Это никогда не напечатает
 }
}

// +--------
bool Test() {
 Print("Test"); // Это тоже, к ней не дошла очередь
 return(true);
}