Erreurs, bugs, questions - page 3010

 
fxsaber:

Ça ne marche pas.

Peut-être que vous devez attendre ? S'il y a beaucoup de GB, cela peut prendre beaucoup de temps à écrire.

 
fxsaber:

Ça n'aide pas.

Lavisionneuse de journaux affiche-t-elle tous les journaux ? Ou pas ?

Log Viewer ne fonctionne qu'avec le lecteur

 
Slava:

Lavisionneuse de journaux de bord montre-t-elle tous les journaux ? Ou pas ?

La visionneuse de journaux ne fonctionne qu'avec le lecteur


Ce conseil m'a aidé.

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie

Bugs, bugs, questions

Andrey Khatimlianskii, 2021.05.06 21:42

Clic droit - Ouvrir. Lorsque j'appelle cette commande, le journal est vidé sur le disque.


Répertoires confus, lors de la vérification. Désolé pour la fausse alerte.

 
Erreur pendant l'exécution :
void OnStart()
{
    char ch[];
    StringToCharArray( "ABCDEF", ch, 0, 3 );
    Print(GetLastError());
}

Résultat : 4007

Attendu : 0

 
A100:
Erreur d'exécution :

Résultat : 4007

Résultat attendu : 0

L'aide ne dit pas que la fonction renvoie un code d'erreur. Seulement le nombre d'éléments copiés. C'est probablement pour cette raison qu'il n'écrit rien dans le dernier code d'erreur?

Si vous réinitialisez le code avant de l'appeler ?

 
Artyom Trishkin:

L'aide ne précise pas que la fonction renvoie un code d'erreur. Seulement le nombre d'éléments copiés. C'est probablement pour cette raison qu'il n'écrit rien dans le dernier code d'erreur?

Si vous réinitialisez le code avant de l'appeler ?

Comment ne pas le faire, quand il le fait - Résultat : 4007

Pourquoi devrait-elle se réinitialiser si l'exemple est déjà le plus simple. Mais dans tous les cas, l'ajout de ResetLastError n'affecte pas le résultat.

 
A100:

Comment il n'enregistre pas quand il le fait - Résultat : 4007

Pourquoi remettre à zéro quand l'exemple est déjà le plus simple. Mais dans tous les cas, l'ajout de ResetLastError n'affecte pas le résultat.

Et pourquoi spécifier trois caractères dans le paramètre de la fonction alors qu'il y a huit caractères dans la chaîne ?

char ch[];
StringToCharArray( "ABCDEF", ch, 0, 8 );
Print(GetLastError()); //0

Ou -1 à la fin de la chaîne, avec un zéro terminal

char ch[];
StringToCharArray( "ABCDEF", ch, 0, -1 );
Print(GetLastError()); //0
 
Roman:

Pourquoi spécifier trois caractères dans le paramètre de la fonction alors qu'il y a huit caractères dans la chaîne ?

ou -1 à la fin de la chaîne, avec un zéro terminal.

Parce que le 4ème paramètre

int     count=-1             // количество символов

J'ai besoin de copier les 3 premiers caractères. Si je devais copier la chaîne entière (7 caractères, y compris le terminal 0), je spécifierais -1. Et s'il ne peut pas être copié partiellement, alors pourquoi ai-je besoin de ce paramètre ?

 
A100:

Comment fait-il pour ne pas écrire quand il écrit - Résultat : 4007

err vous semblez être le premier à avoir besoin de copier non pas la ligne entière ) sinon je ne peux pas expliquer l'erreur

 
A100:

Parce que le 4ème paramètre

J'ai besoin de copier les 3 premiers caractères. Si je voulais copier la chaîne entière (7 caractères, y compris le 0 final), je spécifierais -1. Et si une partie ne peut être copiée, à quoi sert ce paramètre ?

Ce paramètre ne sert pas à spécifier le nombre de caractères à copier, comme la sous-chaîne
, mais à spécifier le nombre de caractères transmis au tableau.
c'est-à-dire qu'il s'agit d'un contrôle de sécurité strict de type C sur la taille des données transmises.
Cette taille allouera automatiquement de la mémoire pour le tableau dynamique.

Si vous voulez copier trois éléments d'une chaîne de caractères, vous devez d'abord les obtenir de la chaîne,
, puis les transmettre, en spécifiant la taille au fur et à mesure.