Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Aus irgendeinem Grund lässt das Betriebssystem das Löschen der Datei nicht zu - entweder wird sie von einem anderen Programm geöffnet, oder sie ist nicht ausreichend autorisiert.
Und zwar genau so. Wenn ich versuche, einen Ordner zu löschen, der bereits Unterordner und Dateien enthält, lösche ich zuerst die Dateien. Nur die Unterordner bleiben erhalten. Ich versuche, sie mit FolderClean() zu bereinigen und rufe dann FolderDelete() auf. Das Ergebnis ist jedoch, dass die leeren Unterordner zwar gelöscht werden, aber wenn sich innerhalb der Unterordner weitere Unterordner befanden, werden diese nicht gelöscht. Danach versuche ich, die Ordner manuell aus dem Dateinavigator in MetaEditor zu entfernen, aber das Terminal entfernt sie nicht und zeigt dieses Fenster an:
Ich klicke auf "Weiter", stimme den Änderungen zu, aber der Ordner wird immer noch nicht gelöscht. Nach dem vollständigen Schließen und erneuten Öffnen des Terminals verschwinden die Ordner, die gelöscht werden sollten, entweder von selbst oder nicht, aber Sie können sie sofort und manuell ohne das obige Fenster löschen.
Solche Merkwürdigkeiten...
Was ich beweisen musste: Das alte Terminal sieht keine MQL5-Programme. Sie versuchen, die Datei-Sandbox einer anderen Person im MQL5-Skript zu öffnen.
PS Und generell - das Programm nicht zu protokollieren, bedeutet, andere zu zwingen, aus dem Kaffeesatz zu schöpfenSehen Sie sich dieses Gif an:
Den Code für dieses Skript habe ich oben, auf der vorherigen Seite, angegeben.
Ich sollte hinzufügen, dass die Ordner, die ich zuerst per Software und dann manuell zu löschen versuche, nirgendwo geöffnet sind. Außerdem können sie nirgendwo anders als im Datei-Navigator von MetaEditor geöffnet werden, da sie leer sind und die darin enthaltenen Dateien zuvor gelöscht wurden. Die gelöschten Dateien wurden auch nirgends geöffnet.
Das Fenster, das um die Zustimmung des Administrators zum manuellen Löschen von Ordnern im Datei-Navigator in MetaEditor bittet, erscheint nur, wenn versucht wird, die Ordner zu löschen, die das Programm zuvor mit FolderClean() und FolderDelete() zu löschen versucht hat. Dieses Fenster erscheint nie, wenn Sie versuchen, andere Ordner zu löschen.
Warum schlägt die Funktion FolderClean() in diesem Skript fehl?
Der Versuch, einen Ordner zu bereinigen, führt zu Fehler 5026 - (Ordner kann nicht bereinigt werden).
Dieses Skript wurde aus der Dokumentation ( Abschnitt über die Funktion FolderDelete()) entnommen und leicht verändert. Um einen Ordner, der andere Unterordner oder Dateien enthält, vollständig zu löschen, müssen Sie ihn leeren. Zu diesem Zweck wird ein Aufruf von FolderClean() hinzugefügt.
Darf ich fragen, warum es keinen Dateischluss gibt? Oder sehe ich das nur nicht?
Hier ein Ausschnitt aus Ihrem Code vom Öffnen der Datei bis zur Aufforderung zum Löschen...
Darf ich fragen, warum die Akte nicht geschlossen wird? Oder sehe ich das nur nicht?
Hier ist ein Ausschnitt aus Ihrem Code vom Öffnen der Datei bis zur Frage nach dem Löschen...
Soweit ich weiß, ist es nicht notwendig, die Datei zu schließen, wenn keine Änderungen mit FileWrite() vorgenommen wurden. Mit der Funktion FileOpen() wird einfach eine neue Datei angelegt, und diese Operation erfordert nicht das Schließen der Datei. Außerdem stammt dieses Skript aus der Dokumentation und ich habe dort nichts geändert. Ich habe gerade Zeilen mit der Funktion FolderClean() hinzugefügt.
Wenn Sie jedoch den Code mit dem Debugger durchsehen, werden Sie feststellen, dass unmittelbar nach der Ausführung von FileOpen() eine Datei mit einer Größe von Null auf der Festplatte vorhanden ist. Und es gibt ziemlich viele Fehler und Ungenauigkeiten in der Dokumentation.
Aber wenn Sie den Code mit dem Debugger durchgehen, befindet sich direkt nach der Ausführung von FileOpen() eine Datei mit der Größe Null auf der Festplatte. Und es gibt ziemlich viele Fehler und Ungenauigkeiten in der Dokumentation.
Für dieses Beispiel sollte die Größe also Null sein.
Ich werde nun versuchen, die Datei im Skript explizit zu schließen und es erneut versuchen.
Für dieses Beispiel sollte die Größe also Null sein.
Ich werde versuchen, die Datei im Skript explizit zu schließen und es dann erneut versuchen.
Das Ergebnis ist das gleiche.
Hier ist der neue Code: