Thema: Delphi Pfad beschreibbar

Einzelnen Beitrag anzeigen

zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.618 Beiträge
 
Delphi 12 Athens
 
#1

Pfad beschreibbar

  Alt 23. Feb 2019, 07:55
Ich habe folgende Funktion aus dem Netz kopiert, um zu prüfen, ob ich in einen Pfad schreiben kann oder nicht:

Delphi-Quellcode:
//hier schauen wir nach, ob wir Dateien ins Programmverzeichnis schreiben können
Function IsFileWritetable(const FileName: String): Boolean;
var
  FileHandle : Cardinal; //18.02.19 -> war vorher integer
  OldErrorMode: Cardinal;

begin

  OldErrorMode := SetErrorMode(SEM_FAILCRITICALERRORS);

  try

    FileHandle := FileOpen(FileName, fmOpenWrite);
    result := (FileHandle >= 0);
    if result then begin
      FileClose(fileHandle);
    end;
  finally
    SetErrorMode(OldErrorMode);
  end;
end;
Mit dem 10.3.1 schlug Delphi vor, das Filehandle von Integer auf Cardinal zu ändern.
Seitdem bekomme ich die Meldung im Programm "Zugriff verweigert".

Hintergrund:
Ich habe ein Programm, welches normalerweise ins Programmverzeichnis installiert wird. Danach wird die Registrierung ins Roaming Verzeichnis geschrieben.
Hier benötige ich die Abfrage, ob ich schreiben darf.

Das Programm kann aber auch auf ein Netzlaufwerk gelegt werden, wo die User dann nur einen Link nutzen müssen. Hier sollte in das Verzeichnis geschrieben werden können, wo auch das Programm liegt.
Wie würdet ihr das lösen bzw. mit welcher Funktion? Vielleicht gibt es etwas mit TFile, TPath o.ä.?
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat