procedure TOSFileWithHandle.CreateHandle(const FileToGetAccess: String; const DesiredAccess: TCreateFileDesiredAccess); begin if FileHandle <> nil then raise EInvalidOp.Create('Invalid Operation: Don''t create handle twice'); inherited Create(FileToGetAccess); FileHandle := TFileHandle.Create(FileToGetAccess, DesiredAccess); end;