我正在使用JEDI WSCL在安裝期間更改文件夾的權限。 在沒有優化的情況下編譯時,使用範圍檢查時,在設置新的訪問控制列表時,我會得到一個範圍檢查。JEDI中的RangeCheckError WSCL
procedure SetFilePermissions(const folder: string);
var
FileObject: TJwSecureFileObject;
DACL: TJwDAccessControlList;
begin
FileObject := TJwSecureFileObject.Create(folder);
try
DACL := FileObject.DACL;
JwInitWellknownSIDs;
DACL.Add(TJwDiscretionaryAccessControlEntryAllow.Create(nil, [afObjectInheritAce], GENERIC_ALL, JwWorldSID, false));
FileObject.SetDACL(DACL);
finally
FileObject.Free;
end;
end;
它lookes喜歡它來自於JwsclSid.pas功能TJwSecurityId.CreateCopyOfSID(),但我不能找出原因。
有沒有人有任何線索?
我使用的是Delphi 2007,順便說一句,wscl代碼是sourceforge的最新版本。
問候,
-Vegar
哇!不確定任何人會有答案,但隨後彈出,快速和準確。謝謝! – Vegar 2009-12-16 17:11:34
也許是因爲wimmer是JWSCL的維護者;) – Runner 2009-12-16 20:26:13
這個維護者在這裏(我是另一個)並不是很棒;如果你不知道「Jedi Windows安全庫」,請檢查它出來了! – Remko 2009-12-17 07:09:45