FsRenMovFile - Verhalten des TC bei FILE_EXISTS

German support forum

Moderators: Hacker, Stefan2, white

Post Reply
gce
Junior Member
Junior Member
Posts: 19
Joined: 2013-10-31, 09:52 UTC

FsRenMovFile - Verhalten des TC bei FILE_EXISTS

Post by *gce »

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!"
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50581
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Leider wird das z.Zt. nicht unterstützt.
Author of Total Commander
https://www.ghisler.com
gce
Junior Member
Junior Member
Posts: 19
Joined: 2013-10-31, 09:52 UTC

Post by *gce »

Dann bitte ich, diesen Fehler zu korrigieren.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50581
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

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
gce
Junior Member
Junior Member
Posts: 19
Joined: 2013-10-31, 09:52 UTC

Post by *gce »

Vielen Dank für den Hoffnungsschimmer! :-)
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50581
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

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
gce
Junior Member
Junior Member
Posts: 19
Joined: 2013-10-31, 09:52 UTC

Post by *gce »

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.
meisl
Member
Member
Posts: 171
Joined: 2013-12-17, 15:30 UTC

Post by *meisl »

Ich fürchte Dokumentation und Impl. stimmen tatsächlich überein:
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.
Der User hat aber im beschriebenen Fall gar nicht die Möglichkeit sich für "Überschreiben" zu entscheiden:
[...]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.
Abgesehen davon bin ganz der Meinung von gce. Wäre hilfreich zu wissen was genau die Probleme mit welchen Plugins waren.
Post Reply