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

Вниз

Имеет ли функция CopyFile проблемы с многопоточностью и проч.?   Найти похожие ветки 

 
Aleksandr.   (2004-10-08 16:01) [0]

Несколько потоков из одной общей папки копируют файлы в другую общую папку

 if Windows.CopyFile(PChar( NameFrom), PChar( NameTo),false) then
 DoSomeThing
else if NOT FileExists(NameFrom) then
   raise Exception.Create(Format("Source file %s doesn""t exists!",[NameFrom]))
else if FileExists(NameTo) then
   raise Exception.Create(Format("Destination file %s already exists!",[NameTo]))
else
 raise Exception.Create("Can""t copy file!")

И время от времени эта функция возвращает результат false при заведомо существующем NameFrom и несуществующем NameTo. Имена файлов для каждого потока уникальны. Вот я и подумал - может, у этой функции есть проблемы с многопоточным копированием между двумя папками? Закономерностей в отказе копирования я не обнаружил.


 
Reindeer Moss Eater ©   (2004-10-08 16:05) [1]

Getlasterror знает всю правду.


 
Reindeer Moss Eater ©   (2004-10-08 16:11) [2]

при заведомо существующем NameFrom и несуществующем NameTo.

Заведомое существование определяется не человеческим зрением а как раз результатом FileExists


 
Aleksandr.   (2004-10-08 16:31) [3]

Reindeer Moss Eater © :


Заведомое существование определяется не человеческим зрением а как раз результатом FileExists


А разве по приведенному коду не видно, что я основываюсь именно на FileExists, а не на человеческом зрении?


 
Reindeer Moss Eater ©   (2004-10-08 16:35) [4]

А нафига тогда заявлять, что при этом файл NameFrom заведомо существует?


 
Anatoly Podgoretsky ©   (2004-10-08 16:41) [5]

И какая ошибка?


 
Digitman ©   (2004-10-08 16:45) [6]


> Aleksandr


дурью-то не майся

если Windows.CopyFile() вернула отказ, то первое, что ты должен сделать - определить его причину, запросив код отказа вызовом GetLastError

ты же вместо этого далее по коду ударяешься в какие-то сомнительные инсинуации, кто там exists , а кто не exists ..



Страницы: 1 вся ветка

Текущий архив: 2004.10.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.037 c
1-1097111765
vvip
2004-10-07 05:16
2004.10.24
Запуск одной копии приложения


14-1096711272
Piter
2004-10-02 14:01
2004.10.24
Почему не срабатывает установка WindowsState?


3-1095923918
Amid
2004-09-23 11:18
2004.10.24
Создать User ?


14-1096540499
Sergey_F
2004-09-30 14:34
2004.10.24
Как заблокировать клавиатуру в WinXP?


3-1096010114
oleg krechetov
2004-09-24 11:15
2004.10.24
Опять даты