jo, hab ich schon gemacht, hat sich aber noch net gemeldet
naja, ich bin jedenfalls schon so weit:
Delphi-Quellcode:
var hFile : Cardinal;
filename : string;
FileSizeLow : Cardinal;
FileSizeHigh: ^Cardinal;
error : Cardinal;
begin
hFile := CreateFile(pchar(fileName),
GENERIC_READ,
FILE_SHARE_READ or FILE_SHARE_WRITE,
nil,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
0);
error := GetLastError();
ShowMessage(inttostr(error));
GetMem(FileSizeHigh, SizeOf(Cardinal));
try
FileSizeLow := GetFileSize(hFile, FileSizeHigh);
if UnLockFile(hFile, 0, 0, FileSizeLow, FileSizeHigh^) = false then
begin
error := GetLastError();
ShowMessage(inttostr(error));
end;
finally
FreeMem(FileSizeHigh);
end;
naja also createfile funktioniert ohne probleme, bekomme da keinen fehler.
bei unlockfile jedoch erhalte ich fehlercode: 158
ERROR_NOT_LOCKED
158 The segment is already unlocked.
Die angegebene Datei ist 100 pro gelockt. Das problem ist halt das unlockfile nur bereiche einer datei freigibt, jedoch nicht die Datei als ganze. Da jedoch nur die gesamte Datei gesperrt ist und nicht nur ein bereich, wird unlockfile nicht funktionieren, oder?
jemand noch irgendwelche tipps?