错误、漏洞、问题 - 页 2748 1...274127422743274427452746274727482749275027512752275327542755...3184 新评论 Mihail Matkovskij 2020.05.21 12:25 #27471 Sergey Dzyublik:那是很多文字,还没有全部读完。 但如果你的东西在调试版中可以工作,但在发布版中却不能工作,反之亦然,那么请检查所有的变量和字段,尤其是类/结构中的变量和字段是否已经被初始化。 那些需要初始化的数据我已经初始化了。如果一些随机的数据碰巧在那里,它将导致程序本身的错误(例如,阵列超出范围或无效指针)。至少,它不会影响调试器的操作。而且,这有助于发现此类错误。 Sergey Dzyublik 2020.05.21 12:38 #27472 Mihail Matkovskij: 也许你有这样的缺陷:(未被ME5(build 2390)修复)。**(新)调试器,StepInto(F11)和安装的断点不起作用。 Mihail Matkovskij 2020.05.21 12:44 #27473 TheXpert: 也许你的文件结构非常复杂,以至于调试器无法关联断点,那么这就是调试器的问题了。 我认为我在项目 中使用的标准UI元素的文件结构甚至比我的工作还要复杂。我必须非常努力地工作,才能做出这样的东西。但既然如此,就拿去用吧,就像他们说的那样。如果你把所有东西放在一起,就像我的情况一样。然后,的确,你会得到一些复杂的东西。但是对于跑步项目来说,这是很正常的。 Roman 2020.05.21 12:50 #27474 fxsaber: 最初,这被提出来是为了。 在某一阶段,不仅所花时间的相对部分变得重要,而且绝对部分也变得重要。 习惯于在C语言中分配变量的时间,这是一个好习惯。 在第一个自定义函数中,输入的MqlTick结构被直接传递给MQL函数,没有任何内存分配。 这样的条目被称为不良编码。 bool GetCurrentTick1( MqlTick &Tick ) { return(SymbolInfoTick(_Symbol, Tick)); } 在第二个例子中,CurrentTick变量被创建;内存被分配给它。 而这个条目被认为是更正确的。 因为已经分配了内存,所以输入数据处理得更快,没有不必要的费用。 bool GetCurrentTick2( MqlTick &Tick, const bool NewTick = false ) { static MqlTick CurrentTick; if (NewTick) SymbolInfoTick(_Symbol, CurrentTick); Tick = CurrentTick; return(true); } TheXpert 2020.05.21 13:19 #27475 Roman: 多学一点C语言,你会养成分配变量的习惯。 听从你自己的建议,你可能至少会得到一点分配的想法。 Alexey Navoykov 2020.05.21 13:30 #27476 Roman: ... 而这个记录被认为是比较正确的。 谁计算的? 你至少可以先给我们测量一下速度。 Sergey Dzyublik 2020.05.21 13:38 #27477 Alexey Navoykov: 谁在数数? 你至少可以给我们一些速度的测量值来开始。 对一个巨魔来说,关注度太高了。 Roman 2020.05.21 13:43 #27478 TheXpert: 如果你听从自己的建议,你可能至少会得到一丝分配的机会。 我所说的分配,是指内存分配。 不是作为一个类的那种字面意思。 一个用户定义的函数有自己的范围。 Roman 2020.05.21 13:46 #27479 Alexey Navoykov: 谁算? 你至少应该先给出一些速度测量值。 在前一页,fxsaber给出了测量结果。 我解释了为什么会发生这种情况。 始终以静态或动态方式分配内存。 Mihail Matkovskij 2020.05.21 14:10 #27480 Sergey Dzyublik: 也许你正在经历这个缺陷:(未被ME5(build 2390)修复)。**(新)调试器,StepInto(F11)和安装的断点不起作用。 有可能...我尝试了我上面描述的int CCheckGroup::itemCheckState(const string item)方法。而一开始,调试器确实会去那里。但是一旦它退出,调试器就再也看不到它了,断点和 "Step with enter "都不起作用。好吧,我们将不得不暂时用Print()和Alert()来做。 1...274127422743274427452746274727482749275027512752275327542755...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
那是很多文字,还没有全部读完。
但如果你的东西在调试版中可以工作,但在发布版中却不能工作,反之亦然,那么请检查所有的变量和字段,尤其是类/结构中的变量和字段是否已经被初始化。
那些需要初始化的数据我已经初始化了。如果一些随机的数据碰巧在那里,它将导致程序本身的错误(例如,阵列超出范围或无效指针)。至少,它不会影响调试器的操作。而且,这有助于发现此类错误。
也许你有这样的缺陷:
(未被ME5(build 2390)修复)。**(新)调试器,StepInto(F11)和安装的断点不起作用。
也许你的文件结构非常复杂,以至于调试器无法关联断点,那么这就是调试器的问题了。
我认为我在项目 中使用的标准UI元素的文件结构甚至比我的工作还要复杂。我必须非常努力地工作,才能做出这样的东西。但既然如此,就拿去用吧,就像他们说的那样。如果你把所有东西放在一起,就像我的情况一样。然后,的确,你会得到一些复杂的东西。但是对于跑步项目来说,这是很正常的。
最初,这被提出来是为了。
在某一阶段,不仅所花时间的相对部分变得重要,而且绝对部分也变得重要。
习惯于在C语言中分配变量的时间,这是一个好习惯。
在第一个自定义函数中,输入的MqlTick结构被直接传递给MQL函数,没有任何内存分配。
这样的条目被称为不良编码。
在第二个例子中,CurrentTick变量被创建;内存被分配给它。
而这个条目被认为是更正确的。
因为已经分配了内存,所以输入数据处理得更快,没有不必要的费用。
多学一点C语言,你会养成分配变量的习惯。
...
而这个记录被认为是比较正确的。
谁计算的? 你至少可以先给我们测量一下速度。
谁在数数? 你至少可以给我们一些速度的测量值来开始。
对一个巨魔来说,关注度太高了。
如果你听从自己的建议,你可能至少会得到一丝分配的机会。
我所说的分配,是指内存分配。
不是作为一个类的那种字面意思。
一个用户定义的函数有自己的范围。
谁算? 你至少应该先给出一些速度测量值。
在前一页,fxsaber给出了测量结果。
我解释了为什么会发生这种情况。
始终以静态或动态方式分配内存。
也许你正在经历这个缺陷:
(未被ME5(build 2390)修复)。**(新)调试器,StepInto(F11)和安装的断点不起作用。
有可能...我尝试了我上面描述的int CCheckGroup::itemCheckState(const string item)方法。而一开始,调试器确实会去那里。但是一旦它退出,调试器就再也看不到它了,断点和 "Step with enter "都不起作用。好吧,我们将不得不暂时用Print()和Alert()来做。