Главная страница
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.049 c
4-1095093283
ipnet
2004-09-13 20:34
2004.10.24
Как поменять цвет текста у метки ?


4-1095617016
Dolphni1
2004-09-19 22:03
2004.10.24
desktop themes changes


1-1097495514
IceT
2004-10-11 15:51
2004.10.24
RecordToVariant и обратно


8-1091184838
a-n-d-r-e-y
2004-07-30 14:53
2004.10.24
Как вывести картинку на экран другого компьютера


1-1097214974
Ozone
2004-10-08 09:56
2004.10.24
Рисовать в консоли