Все события обрабатываются одно за другим в порядке поступления. Если в очереди уже есть событие NewTick либо это событие находится в состоянии обработки, то новое событие NewTick в очередь mql5-программы не ставится. Аналогично, если в очереди mql5-программы уже находится событие ChartEvent или такое событие обрабатывается, то новое событие такого типа не ставится в очередь.
尝试ObjSetInteger(id, Name, OBJPROP_BACK, false)。
试过了。形式确实向后倒,但它是以最丑陋的方式倒下的,即它甚至倒在了铁栏杆后面。而任务有些不同,我只需要在表格中显示文本,表格本身在图形和其他表格的上面。
对象是按照创建的顺序显示的,如果你想改变顺序,你应该保存对象的数据,并按照正确的顺序重新创建它们。
或者说,这个错误甚至在这里面吗?
试过了。形式确实向后倒,但它是以最丑陋的方式倒下的,即它甚至倒在了铁栏杆后面。而任务有些不同,你只需要将文本显示在表格中,表格本身在图形和其他表格之上。
你只需要考虑到图形对象的创建顺序。那些应该在下面的,应该先创建。
是的,这是我想到的第一件事。改变了顺序--结果一样。但没有奇迹。但现在我拿了一个正在工作的项目,试着把OBJ_EDIT 放在那里,效果很好,也就是说,它在表单上面是可见的。因此,总的来说,它看起来像地狱。我显然忘记了或没有考虑到一些问题。但我还是想把它整理出来,以便下次不犯同样的错误。 下面是测试的OnInit()的代码。
是的,这是我想到的第一件事。改变了顺序--结果一样。但没有奇迹。但现在我拿了一个正在工作的项目,试着把OBJ_EDIT 放在那里,效果很好,也就是说,它在表格上面是可见的。因此,总的来说,它看起来像地狱。我显然忘记了或没有考虑到一些问题。但我还是想把它做出来,这样我下次就不会犯这个错误了。 下面是测试的OnInit()的代码。
在这种情况下,我们需要一个对象处理程序,这样就可以把创建的内容和顺序记在一个地方,那么,当一个函数创建这个第二个这个时,就不会有重叠,而函数调用的改变会改变顺序。
很难捕捉到这种错误,甚至很难预见到它。
大家好!
在帮助中,有这样一段话。
所以,如果在事件队列中有一个ChartEvent,它不应该被第二次排队。我有一个问题:)
我画了一个专家顾问来检查它。结果发现,无论队列中是否有ChartEvent事件,ChartEvent 处理程序 ,只要我生成它,就会被调用多少次。
这很好,但在我看来,我需要纠正帮助......或者我错了吗?
大家好!
在帮助中,有这样一段话。
所以,如果在事件队列中有一个ChartEvent,它不应该被第二次排队。我有一个问题:)
我画了一个专家顾问来检查它。结果发现,无论队列中是否有ChartEvent事件,ChartEvent 处理程序 ,只要我生成它,就会被调用多少次。
这很好,但我认为我们需要纠正帮助......或者我错了吗?
这只适用于队列溢出的情况,如果队列已满,那么已经在队列中的事件类型就不会被放置。
如果队列没有满(队列长度猜测为1024),所有事件都将被处理。
这只适用于队列已满的情况,如果队列已满,事件类型已在队列中的将不会被排队。
但如果队列没有溢出(而且队列长度我认为是1024),那么所有的事件都会被处理。
明白了。谢谢你 :)
PS:上述专家顾问未能排到1000个以上的队伍。
MQ的信息。在OnTimer的手册中,有"...通过EventSetTimer() 接收..."。你还应该加上"...或EventSetMillisecondTimer()..."。