Erreurs, bugs, questions - page 1985

 
Alexey Viktorov:
Si c'est le cas et que la valeur est 0, il y a certainement quelque chose qui ne va pas... Vous pouvez voir sur l'image que chaque barre a une flèche avec une valeur de 0.
L'astuce est que empty = EMPTY_VALUE.
 
Alexey Kozitsyn:
L'astuce est que empty = EMPTY_VALUE.
Empty est vide, mais on attribue à PLOT_EMPTY_VALUE une valeur qui ne sera pas affichée dans le graphique et la fenêtre de données. Essayez de changer EMPTY_VALUE en 0
PlotIndexSetDouble(plot_index, PLOT_EMPTY_VALUE, 0);
 
(string)NormalizeDouble(0.99872, 5) - résultat très long.
 
Alexey Viktorov:
Empty est vide, mais on attribue à PLOT_EMPTY_VALUE une valeur qui ne sera pas affichée dans la fenêtre du graphique et des données. Essayez de changer EMPTY_VALUE en 0
Non, il y a toujours un accident. J'ai maintenant remplacé EMPTY_VALUE par la constante EMPTY = EMPTY_VALUE. C'est mieux maintenant. Mais il y a toujours des déchets sur le graphique lorsque le TF est changé. J'ai défini EMPTY = 0. C'est encore mieux, mais là encore, lorsque le TF est fréquemment modifié, le graphique contient des déchets. En général, je dois écrire une application sur le CD.
 
Alexey Kozitsyn:
Non, il y a toujours un bug. Maintenant, j'ai remplacé EMPTY_VALUE par la constante EMPTY = EMPTY_VALUE dans tout le code. C'est mieux maintenant. Mais il y a toujours des déchets sur le graphique lorsque le TF est changé. J'ai défini EMPTY = 0. C'est encore mieux, mais là encore, lorsque le TF est fréquemment modifié, le graphique contient des déchets. En général, je dois écrire une application sur le CD.

Qu'est-ce que ça veut dire ? Je parlais de quelque chose d'entièrement différent. Eh bien, dans un pincement, au lieu de réinitialiser le tampon.

ArrayInitialize(массив, 0);

vous pourriez le régler sur...

ArrayInitialize(массив, EMPTY_VALUE);
 
Alexey Viktorov:

Qu'est-ce que ça veut dire ? Je parlais de quelque chose d'entièrement différent. Eh bien, dans un pincement, au lieu de réinitialiser le tampon.

vous pourriez mettre

Il s'agit de changer toutes les initialisations du code en une seule fois. Le code que vous avez écrit est initialisé là où vous en avez besoin. ArrayInitialize() est exécuté dans OnDeinit(), mais j'ai déjà décrit le résultat ci-dessus.
 

Alexey Kozitsyn:
...

ArrayInitialize() s'exécute dans OnDeinit(), mais j'ai déjà décrit le résultat ci-dessus.

Essayez OnInit().
 
Anatoli Kazharski:
Essayez dans OnInit().

Il y a une initialisation dans OnCalculate() à la première exécution (prev_calculated == 0). Pensez-vous que le fait de le déplacer vers OnInit() changera quelque chose ? Je vais essayer, bien sûr, mais c'est quelque chose qui sort du domaine de la fantaisie...

Coupez. Comme je l'ai dit, dans OnDeinit() des tableaux sont initialisés, qui ne sont plus utilisés au prochain démarrage (changement des paramètres d'entrée). Si cela (initialiser un tableau qui n'est pas utilisé comme un tampon) aide - ce serait aussi un bug de MT. Il s'avérera que non seulement les tableaux ne sont pas utilisés, mais qu'ils (non balisés) peuvent encore être initialisés et cela affectera l'affichage...

 
fxsaber:
(string)NormalizeDouble(0.99872, 5) est un résultat très long.

Bonjour !

Merci pour votre message, nous allons vérifier

 
Alexey Kozitsyn:

Il y a une initialisation dans OnCalculate() à la première exécution (prev_calculated == 0). Pensez-vous que le fait de le déplacer vers OnInit() changera quelque chose ? Je vais essayer, bien sûr, mais c'est quelque chose qui sort du domaine de la fantaisie...

Coupez. Comme je l'ai dit, dans OnDeinit() des tableaux sont initialisés, qui ne sont plus utilisés au prochain démarrage (changement des paramètres d'entrée). Si cela (initialiser un tableau qui n'est pas utilisé comme un tampon) aide - ce serait aussi un bug de MT. Il s'avérerait que non seulement les tableaux ne sont pas utilisés, mais qu'ils peuvent encore être initialisés (non alloués) et que cela affecterait l'affichage...

Sans code, c'est difficile. Faites-nous savoir ce que le service d'assistance dit ensuite.