错误、漏洞、问题 - 页 1543

 
comp:

例如,在现在的ObjectSetInteger描述

它应该是

把所有的文章都读到最后。

prop_id

[in] 对象属性的标识符。该值可以是ENUM_OBJECT_PROPERTY_INTEGER 枚举中的一个值。

我已经告诉你了。认真阅读文件,手中不要拿着军刀。
 
Slawa:

读到最后的线程

我已经告诉你了。仔细阅读文件,手里不要拿着军刀。

非常仔细地阅读,并读到最后。你的引文是来自那里

一个对象属性的标识符。该值可以ENUM_OBJECT_PROPERTY_INTEGER举中的一个值

它应该是

对象属性标识符。值必须ENUM_OBJECT_PROPERTY_INTEGER举中的一个值

对这一类型的明确鬼魂的要求被唯一的变体 所证实,该变体 是在5中编译的(自己检查)。如果没有这个幽灵,编译器会抱怨 没有相应的重载。

 
我不知道这一招。如果你在5个元编辑器中打开一个mq4文件,它将被编译成ex4!
 
一个编译器一个编辑器
 

也就是说,当你读完后,你认为 "该值可能是 枚举ENUM_OBJECT_PROPERTY_INTEGER 中的一个值也可能不是。而不得的东西在文件中没有规定,所以任何不被禁止的东西都是允许的。因为我们正在将社会生活的原则扩展到编程中"。

我想知道,MetaEditor在设置这个函数的参数时,是怎么告诉你相应参数的类型的?

 
在MQL的帮助中,有很多模糊不清的地方。所以从这个意义上说,Comp是对的--对阅读帮助的可能解释越少越好。
 
Slawa:

也就是说,当你读完后,你认为 "该值可能是枚ENUM_OBJECT_PROPERTY_INTEGER 中的一个值也可能不是。而不得的东西在文件中没有规定,所以任何不被禁止的东西都是允许的。因为我们正在将社会生活的原则扩展到编程中"。

不,我并不这么认为。我想,如果代码在MT4上编译正确,在MT5上也应该编译正确。当它没有出现时,我开始挖掘。检查MT4和MT5上的代码,确保

class CHARTOBJECT
{
public:
  template <typename T>
  void SetProperty( const int id, const T Value, const int Modifier = 0 ) const
  {
    const string sType = typename(T);

    if (sType == "double")
      ::ObjectSetDouble(0, "", id, Modifier, (double)Value);
    else if (sType == "string")
      ::ObjectSetString(0, "", id, Modifier, (string)Value);
    else
      ::ObjectSetInteger(0, "", id, Modifier, (long)Value);

    return;
  } 
  
  virtual void operator =( const string Value ) const
  {
    this.SetProperty(OBJPROP_TEXT, Value);

    return;
  }
};

我想知道,MetaEditor在输入这个函数的参数时,是怎么告诉你相关参数的类型的?

它用我上面提供的规范正确地纠正了它。在文件中,它是int。

 
comp:

不,我并不这么认为。我想,如果代码在MT4下编译没有错误,在MT5下也应该编译没有错误。当它没有出现时,我开始挖掘。检查MT4和MT5上的代码,确保

为什么?

MT4和MT5有本质上的不同架构

当把MQL4从旧的语法翻译成新的(即所谓的MQL4+)时,我们不得不回头看看旧的MQL4语法,它有很多东西都没有,包括枚举。

 

comp,让我们自愿只读一个星期。做一个读者,而不是一个作家。

你在这里说的一切都已经讨论过很多次了,不仅在这个论坛上,而且在MQL4.com上。

 
Slawa:

这是为什么呢?

MT4和MT5从一开始就有不同的架构

当把MQL4从旧的语法迁移到新的语法(即所谓的MQL4+)时,我们不得不回头看看以前的MQL4语法,它有很多东西没有了,包括枚举。

人们可以争论很长时间而不成功。事实上,如果文档不是int,而是如输入函数名时的提示,我就会立即找到编译器责骂的原因(在有模板的例子中并不明显)。因为根据文档,该代码应该被编译为有int和 "can"。是什么阻碍了我使文档和工具提示相匹配--我不知道。但今后我会记住,如果有误解,最好是看工具提示显示的内容,而不是看文档。