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
Pour une raison quelconque, le système d'exploitation ne permet pas de supprimer le fichier - soit il est ouvert par un autre programme, soit il n'est pas suffisamment autorisé.
Exactement comme ça. Lorsque j'essaie de supprimer un dossier qui contient déjà des sous-dossiers et des fichiers, je supprime d'abord les fichiers. Seuls les sous-dossiers restent. J'essaie de les nettoyer en utilisant FolderClean() puis j'appelle FolderDelete(). Cependant, le résultat est que les sous-dossiers qui étaient vides sont bien supprimés, mais s'il y avait plus de sous-dossiers à l'intérieur des sous-dossiers, ils ne sont pas supprimés. Ensuite, j'essaie de supprimer manuellement les dossiers du navigateur de fichiers dans MetaEditor, mais le terminal ne les supprime pas et fait apparaître cette fenêtre :
Je clique sur "Continuer", j'accepte les modifications, mais le dossier n'est toujours pas effacé. Après avoir complètement fermé et rouvert le terminal, les dossiers qui auraient dû être effacés disparaissent d'eux-mêmes ou non, mais vous pouvez les effacer immédiatement et manuellement sans la fenêtre ci-dessus.
De telles bizarreries...
Ce que je devais prouver : le vieux terminal NE VOIT PAS les programmes MQL5. Vous essayez d'ouvrir le sandbox d'un autre fichier dans un script MQL5.
PS Et en général, ne pas donner les logs du programme revient à forcer les autres à deviner par le marc de café.Jetez un coup d'œil à ce gif :
J'ai donné le code de ce script ci-dessus, à la page précédente.
Je dois ajouter que les dossiers que j'essaie d'effacer d'abord par logiciel, puis manuellement, ne sont ouverts nulle part. De plus, ils ne peuvent être ouverts que dans le navigateur de fichiers de MetaEditor, car ils sont vides et leurs fichiers ont été effacés. Les fichiers effacés n'ont été ouverts nulle part non plus.
La fenêtre demandant l'approbation de l'administrateur pour effacer manuellement les dossiers dans le navigateur de fichiers de MetaEditor n'apparaît que lorsqu'on essaie d'effacer les dossiers que le programme a essayé d'effacer en utilisant FolderClean() et FolderDelete() précédemment. Cette fenêtre n'apparaît jamais lorsqu'on essaie de supprimer d'autres dossiers.
Pourquoi la fonction FolderClean() de ce script échoue-t-elle ?
La tentative de nettoyage d'un dossier entraîne l'erreur 5026 - (le dossier ne peut pas être nettoyé).
Ce script est tiré de la documentation ( section de la fonction FolderDelete()) et légèrement modifié. Pour supprimer complètement un dossier qui contient d'autres sous-dossiers ou fichiers, vous devez le vider. Un appel à FolderClean() est ajouté à cet effet.
Puis-je demander pourquoi il n'y a pas de fermeture de dossier ? Ou est-ce que je ne le vois pas ?
Voici un extrait de votre code, de l'ouverture du fichier à la demande de suppression...
Puis-je demander pourquoi il n'y a pas de fermeture du dossier ? Ou est-ce que je ne le vois pas ?
Voici un extrait de votre code, de l'ouverture du fichier à la question sur la suppression...
Pour autant que je sache, si aucune modification n'a été apportée au fichier à l'aide de FileWrite(), il n'est pas nécessaire de le fermer. La fonction FileOpen() crée simplement un nouveau fichier et cette opération ne nécessite pas la fermeture du fichier. De plus, ce script est tiré de la documentation et je n'y ai rien changé. J'ai juste ajouté des lignes avec la fonction FolderClean().
Mais si vous regardez le code à l'aide du débogueur, vous verrez qu'immédiatement après l'exécution de FileOpen(), il y a un fichier de taille nulle sur le disque. Et la documentation contient de nombreuses erreurs et imprécisions.
Mais si vous parcourez le code avec le débogueur, il y a un fichier de taille zéro sur le disque juste après l'exécution de FileOpen(). Et la documentation contient de nombreuses erreurs et imprécisions.
Il devrait donc être de taille zéro pour cet exemple.
Je vais maintenant essayer de fermer explicitement le fichier dans le script et réessayer.
Il devrait donc être de taille zéro pour cet exemple.
Je vais essayer de fermer explicitement le fichier dans le script et réessayer.
Le résultat est le même.
Voici le nouveau code :