Fehler, Irrtümer, Fragen - Seite 2189

 
AVAAR:

Ich danke Ihnen! Wirklich - es funktioniert!)

Und ich hatte keine Ahnung, dass die Kompilierung regelmäßig durchgeführt werden muss, ohne dass Änderungen vorgenommen werden...

Es genügt zu lesen, was auf den Registerkarten "Experten" und "Protokoll" oder im Tester geschrieben steht, um den Grund zu verstehen.

 

Wenn das Skript oft aufgerufen wird - wiederholt nach der Ausführung - funktioniert der Zeitplan-Offset nicht mehr, d.h. die Befehle für diese Aktion werden übersprungen

   long handle=ChartID(); 
   if(handle>0) // если получилось, дополнительно настроим 
     { 
      ChartNavigate(handle,CHART_END,-2000); 
     } 
 
Aleksey Vyazmikin:

Wenn das Skript oft aufgerufen wird - wiederholt nach der Ausführung - funktioniert der Zeitplan-Offset nicht mehr, d.h. die Befehle für diese Aktion werden übersprungen

Dies ist ein asynchroner Befehl.
 
Artyom Trishkin:
Es handelt sich um einen asynchronen Befehl.

Wie kann man dann überprüfen, ob es funktioniert?

 
Aleksey Vyazmikin:

Wie überprüfen Sie dann, ob es funktioniert?

Durch die Tatsache der Verdrängung.
 
Artyom Trishkin:
Über die Tatsache der Verschiebung.

Ich verstehe, d.h. der Vorschlag ist, auf den Offset zu warten, und wenn das nicht passiert, den Offset-Befehl zu wiederholen, richtig?

 
Aleksey Vyazmikin:

Verstehe, der Vorschlag lautet also, auf den Offset zu warten und, falls dies nicht geschieht, den Offset-Befehl zu wiederholen, richtig?

Wir müssen darüber nachdenken, wie wir die asynchrone Befehlsauslösung auffangen können und welche Fallstricke es dabei gibt.

Angenommen, wir haben eine Anzahl von sichtbaren Balken, bevor wir einen Befehl geben - wir merken sie uns. Solange sich die Zahl nicht ändert, hat der Befehl nicht funktioniert. Wenn sie sich ändert, funktioniert sie.

Und wenn sie nicht geändert wird? Wann entscheiden Sie, dass der Befehl in der Warteschlange verloren gegangen ist und wiederholen den Befehl? Und wenn nach der Wiederholung des Befehls der vorherige Befehl funktioniert hat und wir einen weiteren in der Warteschlange haben, gibt es eine zusätzliche Schicht.

Im Allgemeinen müssen wir experimentieren. Ich kann nicht an alles auf einmal denken...

 
Artyom Trishkin:

Sie müssen darüber nachdenken, wie Sie die asynchrone Befehlsauslösung abfangen und welche Fallstricke dabei auftreten können.

Nehmen wir an, wir haben eine Anzahl von sichtbaren Balken, bevor der Befehl gegeben wird - wir haben sie auswendig gelernt. Solange sich die Zahl nicht ändert, hat der Befehl nicht funktioniert. Wenn sie sich ändert, funktioniert sie.

Und wenn sie nicht geändert wird? Wann entscheiden Sie, dass der Befehl in der Warteschlange verloren gegangen ist und wiederholen den Befehl? Und wenn nach der Wiederholung des Befehls der vorherige Befehl funktioniert hat und wir einen weiteren Befehl in der Warteschlange haben, wird es eine zusätzliche Schicht sein.

Nun, es wird einige Experimente erfordern. Mir fällt auf Anhieb keine ein...

Verstanden - schwieriger Fall - ich werde darüber nachdenken, danke.

 
Aleksey Vyazmikin:

Verstanden - schwieriger Fall - ich werde darüber nachdenken, danke.

Wenn man sich nur auf die Tatsache der Verschiebung verlässt, kann der Graph auch von Hand verschoben werden - das ist ein Loch in der Logik...

 
Artyom Trishkin:

Wenn man sich nur auf die Verschiebung verlässt, kann die Kurve auch von Hand verschoben werden - da gibt es ein Loch in der Logik...

Nach dreiminütigen Experimenten bin ich zu dem Schluss gekommen, dass die Verschiebung von folgenden Faktoren herrührt


und nicht von der aktuellen Position aus.

Grund der Beschwerde: