Entwickler-Ecke

Dateizugriff - Unter XP sind Ordner schreibgeschützt


Peter - Mi 16.10.02 09:16
Titel: Unter XP sind Ordner schreibgeschützt
Probleme unter XP
Mein Programm erstellt einen Ordner im Prorammverzeichnis.
Beim Update einer neuen Version soll diese gelöscht werden.
Unter XP sind aber die erstellten Ordner immer schreibgeschützt sodass diese nicht gelöscht werden können (Programmabsturz).
Wenn ich diesen Schreibschutz unter XP entferne ist er anschiesend wieder da.
Wer kann helfen?


Chatfix - Mi 16.10.02 11:53

hmm das ist mir neu.. wenn du nun den ordner, unmittelbar vor dem löschen, das attribut schreibgeschützt wegnimmst? .. wo is den dein erstellter ordner im windows-verz. oder is das immer so?!


Delete - Mi 16.10.02 13:05

Ist áber so. Mußte ich auch schon feststellen.


Peter - Mi 16.10.02 13:45
Titel: Nochmal
Habe über das Programm die Schreibschutzattribute entfernt, hilft aber unter XP auch nichts


Michael Stenzel - Mo 04.11.02 01:20
Titel: Vieleicht klappt es , wenn die Shell den Ordner löscht?
Probier mal folgende Prozedure :


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
procedure KillDir(Ordner : string);
var FileStruct : TSHFileOpStruct;
begin
  with FileStruct do begin
    Wnd := Handle; { Fensterhandle}
    wFunc := FO_DELETE; { Action der Shell}
    pFrom := PChar(Ordner + #0); { Name des Ordners der
                                   gelöscht werden soll }
    pTo := ''; { beimlöschen nicht erforderlich }
    fFlags := FOF_NOCONFIRMATION or FOF_SILENT or
                  FOF_SIMPLEPROGRESS;
  end;
  SHFileOperation(FileStruct);
end;


Kann es selber nicht ausprobieren( Kein WINDOWS XP )
Code nicht getestet.

Viel glück , bis dann!