Форум: "Основная";
Текущий архив: 2004.11.07;
Скачать: [xml.tar.bz2];
ВнизФайлы Найти похожие ветки
← →
NATA (2004-10-22 13:45) [0]еще раз добрый день...такая проблема мне надо копировать файл с одного место на другое но вот в чем проблема...файл который надо копировать это архив создоваемы другой программой а как моей программе понять можно ли его начать копировать(т.е. завершилось ли архивирование)????
← →
clickmaker © (2004-10-22 13:57) [1]while (true) do begin
hFile := CreateFile(PChar(FileName), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, 0, 0);
dwError := GetLastError;
if (hFile <> INVALID_HANDLE_VALUE) then
CloseHandle(hFile);
if (dwError <> ERROR_SHARING_VIOLATION) then
Break;
Sleep(2000);
end;
// теперь можно копировать
← →
snake1977 (2004-10-22 13:58) [2]сталкивался с такой проблеммой когда требуется переписыватьфайл и не известно создан он до конца другим процессом или нет.
было масса предложений, но верного способа я так и не нашел :)
в ходе так сказать исследования этой проблеммы могу только сказать что:
если это дело присходит в 2000/NT/XP, то можеш не беспокоиться, система не даст тебе его скопировать пока он не будет освобожден другим процессом.
в 95/98/МЕ проблема остается
мне предлагали следующие варианты
1. делать RenameFile() пока резултатом выполнения не будет True
2. копировать файл и сравнивать его размер с исходным
← →
Romkin © (2004-10-22 14:04) [3]А может, попроще, через FindFirstChangeNotification?
← →
NATA (2004-10-22 14:27) [4]
> clickmaker © (22.10.04 13:57) [1]
> while (true) do begin
> hFile := CreateFile(PChar(FileName), GENERIC_READ or
> GENERIC_WRITE, 0, nil, OPEN_EXISTING, 0, 0);
> dwError := GetLastError;
> if (hFile <> INVALID_HANDLE_VALUE) then
> CloseHandle(hFile);
> if (dwError <> ERROR_SHARING_VIOLATION) then
> Break;
> Sleep(2000);
> end;
а модуль нужно какой нибуть подключать?
> // теперь можно копировать
← →
clickmaker © (2004-10-22 14:41) [5]
> [4] NATA (22.10.04 14:27)
а что, так не компилируется?
← →
NATA (2004-10-22 14:42) [6]извение за глупый вопрос а hFile это что за тип?????
и вообще надо ли подключать модуль какой нибуть?
← →
NATA (2004-10-22 14:42) [7]
> clickmaker © (22.10.04 14:41) [5]
>
> > [4] NATA (22.10.04 14:27)
>
> а что, так не компилируется?
неа...:(
← →
Ega23 © (2004-10-22 14:44) [8]Есть маза, что тебе рановато хвататься за такие задачи. Хотя....
← →
Ega23 © (2004-10-22 14:44) [9]THandle. Или HWND, надо смотреть.
← →
NATA (2004-10-22 14:45) [10]hFile := CreateFile(PChar(FileName), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, 0, 0);
пишет что нехватает ( но := найдены....
← →
Anatoly Podgoretsky © (2004-10-22 14:47) [11]NATA (22.10.04 14:27) [4]
Windows
← →
clickmaker © (2004-10-22 14:55) [12]
> [6] NATA (22.10.04 14:42)
> извение за глупый вопрос а hFile это что за тип?????
var
hFile: THandle;
dwError: cardinal;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.11.07;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.048 c