Кажется, что где-то в моем коде файл, с которым я работаю, каким-то образом удерживает его, потому что я не могу удалить его.Кажется, моя подпрограмма CopyFile работает, но после того, как я закончила копировать ее, я не могу удалить ее.
FSize:= GetFileSizeExt(InPath + InFileName);
if FSize <= 0 then
begin
//archive file
if AfterAction = 'MOVE' then
begin
tmpExt:= ExtractFileExt(InFileName);
if CopyFile(PChar(InPath + InFileName), PChar(MovePath + '\' + ChangeFileExt(InFileName,'') + '_' + FormatDateTime('mmddyyyy-hhmmss', Now) + tmpExt), True) then
begin
if not DeleteFile(pchar(InPath + InFileName)) then
begin
ExitCode:= 8;
raise ECustomException.Create('Invalid After Action. Error Deleting File!');
end;
end //if CopyFile
else //if not DeleteFile
begin
ExitCode:= 16;
raise ECustomException.Create('File Copy Error!');
end; //else
end; //if AfterAction = 'MOVE' then
ExitCode:= 17;
raise ECustomException.Create('Error Getting file size OR file size less than or equal to zero!');
end; //if filesize =0
, когда я устанавливаю точку останова на линии
, если не DeleteFile
, это всегда заканчивается повышением исключения.Соответствие InPath & InFileName, используемое в подпрограмме
CopyFile
В любом случае, я всегда получаю сообщение об ошибке, пытаясь удалить файл.Это как-то связано с размером файла?Я копирую и удаляю только если размер файла <= 0 </p>