Главная страница
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.026 c
14-1096659940
Piter
2004-10-01 23:45
2004.10.24
А есть процедура, которая удаляет элемент динамического массива?


1-1097420959
Саид
2004-10-10 19:09
2004.10.24
Демка браузера в Delphi.


1-1096054352
Dimaxx
2004-09-24 23:32
2004.10.24
Поиск в бинарном файле


4-1095419377
Квэнди
2004-09-17 15:09
2004.10.24
Трей


4-1095880392
BKGG
2004-09-22 23:13
2004.10.24
Как узнать имя класса окна.