FsRenMovFile - Verhalten des TC bei FILE_EXISTS
Moderators: Hacker, Stefan2, white
FsRenMovFile - Verhalten des TC bei FILE_EXISTS
Wenn FsRenMovFile den Returncode FS_FILE_EXISTS liefert, dann sollte der Total Commander laut Dokumentation den Benutzer fragen, ob er die existierende Datei überschreiben will und wenn ja, dann sollte er FsRenMovFile nochmals aufrufen, aber diesmal mit OverWrite==true.
So geschieht es auch tatsächlich in folgenden Fällen:
* Kopieren einer Datei
* Verschieben einer Datei in ein anderes Verzeichnis
Aber im Fall
* Umbenennen einer Datei (oder eines Verzeichnisses)
führt der Returncode FS_FILE_EXISTS nicht zu obigem Verhalten des Total Commander sondern er meldet fälschlich "Fehler: Kann ... nicht schreiben! Entfernen Sie den ... Schreibschutz!"
So geschieht es auch tatsächlich in folgenden Fällen:
* Kopieren einer Datei
* Verschieben einer Datei in ein anderes Verzeichnis
Aber im Fall
* Umbenennen einer Datei (oder eines Verzeichnisses)
führt der Returncode FS_FILE_EXISTS nicht zu obigem Verhalten des Total Commander sondern er meldet fälschlich "Fehler: Kann ... nicht schreiben! Entfernen Sie den ... Schreibschutz!"
- ghisler(Author)
- Site Admin
- Posts: 50581
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
- ghisler(Author)
- Site Admin
- Posts: 50581
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Mal sehen, ob sich da was machen lässt - ich kann mich dunkel daran erinnern, dass es da Probleme gab, weshalb ich es nicht eingebaut habe.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
- ghisler(Author)
- Site Admin
- Posts: 50581
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Es gab offenbar Probleme mit gewissen Plugins - deshalb erlaubt TC 8.01 und 8.5 nach dem Fehler (wenn man auf OK klickt), den Namen zu ändern. Überschreiben wird dagegen nicht unterstützt.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
Schade, dass es nicht so implementiert ist, wie es in der Dokumentation ("FSPLUGIN.HLP", Kapitel "FsRenMovFile") steht:
Total Commander usually calls this function twice:
- once with OverWrite==false. If the remote file exists, return FS_FILE_EXISTS. If it doesn't exist, try to copy the file, and return an appropriate error code.
- a second time with OverWrite==true, if the user chose to overwrite the file.
Total Commander usually calls this function twice:
- once with OverWrite==false. If the remote file exists, return FS_FILE_EXISTS. If it doesn't exist, try to copy the file, and return an appropriate error code.
- a second time with OverWrite==true, if the user chose to overwrite the file.
Ich fürchte Dokumentation und Impl. stimmen tatsächlich überein:
Der User hat aber im beschriebenen Fall gar nicht die Möglichkeit sich für "Überschreiben" zu entscheiden:Total Commander usually calls this function twice:
- once with OverWrite==false. If the remote file exists, return FS_FILE_EXISTS. If it doesn't exist, try to copy the file, and return an appropriate error code.
- a second time with OverWrite==true, if the user chose to overwrite the file.
Abgesehen davon bin ganz der Meinung von gce. Wäre hilfreich zu wissen was genau die Probleme mit welchen Plugins waren.[...]deshalb erlaubt TC 8.01 und 8.5 nach dem Fehler (wenn man auf OK klickt), den Namen zu ändern. Überschreiben wird dagegen nicht unterstützt.