Цитата:
Сообщение от Danielz
Согласен. Упустил. Но дело не в этом.
|
И всёже переделай этот кусок кода с использованием конструкции try...finally (как советует
M.A.D.M.A.N.), для гарантированного освобождения хэндла.
В твоём случае это будет так:
Код:
if FindFirst(SourceFile + '\*.*', faanyfile, FindFile) = 0 then
begin
try
repeat
if FindFile.Attr <> faDirectory then
if not MoveToArc(SourceFile + '\' + FindFile.Name, DestDir + '\' + ExtractFileName(SourceFile), False) then
begin
Result := False;
Exit;
end;
until FindNext(FindFile) <> 0;
finally
FindClose(FindFile);
end;
if not RemoveDir(PWideChar(SourceFile)) then
Result := False;
end;
Если после этих изменений будет оставаться "пустая папка, доступ к которой отсутствует", значит ты не закрываешь хэндл ещё в другом месте (исходник которого ты не публиковал).