Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Por algum motivo, o sistema operacional não permite excluir o arquivo - ou ele é aberto por outro programa, ou não é suficientemente autorizado.
Exatamente como isto. Quando tento apagar uma pasta que já contém subpastas e arquivos, eu apago os arquivos primeiro. Restam apenas as subpastas. Eu tento limpá-los usando FolderClean() e depois chamo FolderDelete(). Entretanto, o resultado é que aquelas subpastas que estavam vazias são bem apagadas, mas se houvesse mais subpastas dentro das subpastas, elas não são apagadas. Depois disso, tento remover as pastas do navegador de arquivos no MetaEditor manualmente, mas o terminal não as remove e abre esta janela:
Eu clico em "Continuar", concordo com as mudanças, mas a pasta ainda não foi apagada. Após fechar e reabrir completamente o terminal, as pastas que deveriam ter sido apagadas desaparecem por si mesmas ou não, mas você pode apagá-las imediatamente e manualmente sem a janela acima.
Tais curiosidades...
O que eu tinha que provar: o terminal antigo NÃO VÊ programas MQL5. Você está tentando abrir a caixa de areia do arquivo de outra pessoa no script MQL5.
PS E em geral - não dar os logs do programa é forçar outros a adivinhar pela borra de caféDê uma olhada neste gif:
Eu dei o código para este script acima, na página anterior.
Devo acrescentar que as pastas que estou tentando apagar primeiro o software e depois manualmente não estão abertas em nenhum lugar. Além disso, eles não podem ser abertos em nenhum lugar, exceto no MetaEditor, porque estão vazios e os arquivos deles foram apagados anteriormente. Os arquivos apagados também não foram abertos em nenhum lugar.
A janela pedindo aprovação do administrador para apagar manualmente as pastas no navegador de arquivos no MetaEditor só aparece quando se tenta apagar as pastas que o programa tentou apagar usando FolderClean() e FolderDelete() mais cedo. Esta janela nunca aparece quando se tenta apagar outras pastas.
Por que a função FolderClean() neste script falha?
A tentativa de limpar uma pasta resulta em erro 5026 - (pasta não pode ser limpa).
Este script é retirado da seção de documentação (FolderDelete() function section) e ligeiramente modificado. Para apagar completamente uma pasta que contenha outras subpastas ou arquivos, você tem que limpá-la. Uma chamada para FolderClean() é acrescentada para este fim.
Posso perguntar por que não há um fechamento de arquivo? Ou eu simplesmente não estou vendo?
Aqui está um trecho de seu código desde a abertura do arquivo até o pedido de exclusão...
Posso perguntar por que não há um fechamento do arquivo? Ou eu simplesmente não estou vendo?
Aqui está um trecho de seu código desde a abertura do arquivo até a pergunta sobre a eliminação...
Tanto quanto sei, se não foram feitas mudanças no arquivo usando FileWrite(), não há necessidade de fechá-lo. A função FileOpen() simplesmente cria um novo arquivo e esta operação não requer o fechamento do arquivo. Além disso, este roteiro é retirado da documentação e eu não mudei nada lá. Acabei de acrescentar linhas com a função FolderClean().
Mas se você olhar através do código usando o depurador, você verá que imediatamente após FileOpen() ser executado, há um arquivo com tamanho nulo em disco. E há muitos erros e imprecisões na documentação.
Mas se você passar o código com o depurador, há um arquivo de tamanho zero no disco logo após FileOpen() ser executado. E há muitos erros e imprecisões na documentação.
Portanto, o tamanho deve ser zero para este exemplo.
Agora vou tentar fechar explicitamente o arquivo no roteiro e tentar novamente.
Portanto, o tamanho deve ser zero para este exemplo.
Vou tentar um arquivo explícito fechado no roteiro e tentar novamente.
O resultado é o mesmo.
Aqui está o novo código: