![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Oui, si vous enlevez jusqu'à 3 lettres
Ce n'est pas la question.Essayez d'étudier tel ou tel sujet en fonction de vos besoins. Une fois que vous avez atteint un point dans votre système où vous avez besoin de certains "leviers" (fonctions), commencez à les expérimenter. J'ai trouvé que cette méthode d'étude (dans mon cas) fonctionne assez bien))).
Ensuite, nous attendons une réponse de camarades plus compétents.))
Attendez :)
Mieux encore, n'attendez pas). Continuez à expérimenter.))
Supprime la valeur du tableau lors de sa déclaration. Ça doit être comme dans l'aide :
string result[];
Et vous n'aurez pas d'erreurs. Si je comprends bien, la chaîne entière spécifiée dans la variable to_split est placée dans le tableau, puis l'extraction des sous-chaînes se poursuit.Mieux encore, n'attendez pas). Continuez à expérimenter.))
Supprime la valeur du tableau lors de sa déclaration. Cela doit être la façon dont c'est écrit dans l'aide :
Et il n'y aura pas d'erreurs. D'après ce que j'ai compris, la chaîne entière spécifiée dans la variable to_split est placée dans le tableau, puis l'extraction des sous-chaînes est effectuée.C'est clair. Seulement c'est un piège potentiel - j'ai effectivement rencontré cette erreur dans mon code et cela fonctionne - avec une erreur.
Par exemple, voici le texte d'aide pour CopyBuffer
Où est la logique ? Je veux dire, quelle est la différence avec StringSplit ?
Et si vous rendez tous les tableaux dynamiques, vous manquerez de mémoire.
UpgrrayResize avec mise à zéro est une variante, bien sûr, mais je ne l'aime pas.
Si je comprends bien, la chaîne entière spécifiée dans la variable to_split est placée dans le tableau, puis la sous-chaîne est extraite.
Dans votre exemple, le problème est que la fonction StringSplit() elle-même se charge de la quantité de mémoire requise dans le tableau passé en paramètre.
Il s'avère donc qu'un tableau statique fonctionne (si la mémoire est suffisante) mais provoque une erreur parce que les gens essaient de le repartitionner.
Essayez les tableaux statiques et dynamiques distribués, et vous verrez :
Essayez la variante avec des tableaux statiques et dynamiques distribués et cela deviendra clair :
Pour essayer le tableau dynamique, il suffit de décommenter ArrayResize(result,3) ; ? Si c'est le cas, il y aura un avertissement à la compilation :
Pour essayer un tableau dynamique, il suffit de décommenter ArrayResize(result,3) ; ? Si c'est le cas, il y a un avertissement sur la compilation :
s'agit-il d'un problème insoluble ? rendez-le dynamique.
Dans votre exemple, le problème est que la fonction StringSplit() elle-même se charge de la quantité de mémoire requise dans le tableau passé en paramètre.
C'est pourquoi un tableau statique fonctionne (si la mémoire est suffisante), mais provoque une erreur parce que les gens essaient de le repartitionner.
Alors, peut-on utiliser StringSplit() avec des tableaux statiques ou non ?
Si vous le pouvez, il ne devrait pas y avoir d'erreur si la mémoire est suffisante. Sinon, ça ne devrait pas fonctionner.