Текущий архив: 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.45 MB
Время: 0.04 c