(Gast)
n/a Beiträge
|
AW: Large_Integer SetFilePointerEx Error 183
23. Mär 2017, 20:03
Was ist denn Fehler 183 überhaupt?
Zitat:
ERROR_ALREADY_EXISTS
183 (0xB7)
Cannot create a file when that file already exists.
Macht irgendwie wenig Sinn im Zusammenhang mit der genannten API.
@Emil:
Kannst du mal mehr Code zeigen?
Jo
Ich öffne die Datei auf diese weise
Delphi-Quellcode:
if FOpen(PWideChar(wsFile), 0, 0, hFileIn) = 0 then
begin
Delphi-Quellcode:
function TAnimatePng.FOpen(FileName: PWideChar; AccessMode: DWORD; ShareMode: DWORD;
var hFile: THandle): DWORD;
var
AccessIs: DWORD;
ShareIs: DWORD;
FlagAndAttribute: DWORD;
begin
AccessMode := min(max(AccessMode, 0), 2);
//0 Nur lesend öffnen.
if AccessMode = 0 then
AccessIs := GENERIC_READ
// 1 Nur zum schreiben öffnen.
else if AccessMode = 1 then
AccessIs := GENERIC_WRITE
// 2 Zum Schreiben und lesen öffen
else
AccessIs := GENERIC_READ or GENERIC_WRITE;
// Kohärenz zwischen 1-4
ShareMode := min(max(ShareMode, 1), 4);
// 1 Verweigerter Lese/Schreibzugriff.
if ShareMode = 1 then
ShareIs := 0
// 2 Verweigerter Schreibzugriff
else if ShareMode = 2 then
ShareIs := FILE_SHARE_READ
// 3 Verweigerter Lesezugriff
else if ShareMode = 3 then
ShareIs := FILE_SHARE_WRITE
// 4 Vollerzugriff
else
ShareIs := FILE_SHARE_READ or FILE_SHARE_WRITE;
if hFile = INVALID_HANDLE_VALUE then
FlagAndAttribute := FILE_ATTRIBUTE_NORMAL or FILE_FLAG_WRITE_THROUGH
else
FlagAndAttribute := FILE_ATTRIBUTE_NORMAL;
hFile := CreateFile(FileName, AccessIs, ShareIs, nil, OPEN_ALWAYS, FlagAndAttribute, 0);
if hFile = INVALID_HANDLE_VALUE then
begin
Result := GetLastError();
hFile := 0;
exit;
end;
Result := 0;
end;
Hilft das ?
gruss
|
|
Zitat
|