Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.10.24;
Скачать: [xml.tar.bz2];

Вниз

Имеет ли функция 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.047 c
1-1097049347
456
2004-10-06 11:55
2004.10.24
создать кнопку (на форме) во время работы программы


3-1096012932
WG
2004-09-24 12:02
2004.10.24
Как сбросит результат SQL-запрос из TQuery в TTable ?


4-1095831114
Alex_s
2004-09-22 09:31
2004.10.24
Блокировка CTRL+ESC и Win


9-1087796659
MsShtaer
2004-06-21 09:44
2004.10.24
игра 64-bit


1-1097057165
Cosinus
2004-10-06 14:06
2004.10.24
Как получить Handle системного Popup меню?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский