Thema: Delphi Ordner verstecken

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.157 Beiträge
 
Delphi 12 Athens
 
#10

Re: Ordner verstecken

  Alt 3. Dez 2009, 10:04
Zitat:
Delphi-Quellcode:
procedure CreateHiddenFolder(APath: WideString);
begin
if not DirectoryExists(APath) and ForceDirectories(APath)then
  begin
  SetFileAttributes(PAnsiChar(APath),FILE_ATTRIBUTE_HIDDEN);
  end;
end;
Wie Luckie schon sagte:
- Fehlerprüfungen

und dann vorallem KEINE Vermischung von Ansi/Unicode

APath = Unicode
DirectoryExists(APath = compilerabhängig + Unicode
ForceDirectories(APath = compilerabhängig + Unicode
SetFileAttributes(PAnsiChar = compilerabhängig + Ansi
PAnsiChar(APath) = Ansi + Unicode (hier sollte aber der Compiler auch meckern)

kein Wunder, daß nichts funktioniert

Delphi-Quellcode:
procedure CreateHiddenFolder(APath: String);
begin
  if not DirectoryExists(APath) and ForceDirectories(APath)then
  begin
    SetFileAttributes(PChar(APath), FILE_ATTRIBUTE_HIDDEN);
  end;
end;
Delphi-Quellcode:
procedure CreateHiddenFolder(APath: AnsiString);
begin
  // hier ist eine Ansi-Version nötig, aber Unicode ginge auch nocht
  if not DirectoryExists(APath) and ForceDirectories(APath) then // <<<<<
  begin
    SetFileAttributesA(PAnsiChar(APath), FILE_ATTRIBUTE_HIDDEN);
  end;
end;
Delphi-Quellcode:
procedure CreateHiddenFolder(APath: WideString);
begin
  // hier ist eine Unicode-Version nötig
  if not DirectoryExists(APath) and ForceDirectories(APath) then // <<<<<
  begin
    SetFileAttributesW(PWideChar(APath), FILE_ATTRIBUTE_HIDDEN);
  end;
end;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat