Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.07;
Скачать: CL | DM;

Вниз

Файлы   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.037 c
3-1097255883
dron-s
2004-10-08 21:18
2004.11.07
Изменение фокуса


1-1098164882
denis24
2004-10-19 09:48
2004.11.07
определение свойств


14-1097846076
Prohodil Mimo
2004-10-15 17:14
2004.11.07
Куда девается непотраченное электричество, выработанное ЭС ?


3-1097040092
KIR
2004-10-06 09:21
2004.11.07
На каком порте висит Intrbase


1-1098524918
ceval
2004-10-23 13:48
2004.11.07
работа с различными расшерениями





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский