Einzelnen Beitrag anzeigen

Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#14

AW: Es klemmt: DACL einer Datei ersetzen

  Alt 24. Aug 2010, 21:20
Nimm normal String und PChar.
Was ist eigentlich, wenn ein Unicode-Dateiname kommt? PChar geht ja nicht, weil das bei 2009 ein WideChar ist.
Das ist in >=D2009 doch automatisch (P)WideChar also Unicode. D.h. auch in Russland funktioniert es. Und SetNamedSecurityInfo wird in >=D2009 automatisch SetNamedSecurityInfoW.
Warum du SetNamedSecurityInfoA genommen hast, weiß ich allerdings nicht genau. Du hattest am Anfang einen Fehler mit Unicodestring gemacht und bist dann sofort auf AnsiString umgestiegen, weil das dir schneller ging. D.h. wenn du alle AnsiString Teile im Code durch Unicodeteile ersetzt, dann ist es Unicode.

1. PChar = PWideChar in >=D2009, sonst PAnsiChar
2. Nutze solange es geht String/WideString/AnsiString, um Strings zu erzeugen und zu verändern in Delphi. Erst beim Aufruf einer WinApi Funktion konvertiere es in den entsprechenden PointerTyp PChar/PWideChar/PAnsiChar. Delphi macht den Rest.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat