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

Вниз

CreateProcess+AssignFile   Найти похожие ветки 

 
TUser ©   (2004-07-11 08:33) [0]

Я запускаю внешнюю программу и получаю файл с ее рузультатами. Дальше я этот файл читаю. После CreateProcess написан WaitForSingleObject. Проблема в том, что файл появляется не сразу после окончания работаы внешней программы. Программа уже закончила работать, а файл становится видимым только через какое-то время. Если поставить while not FileExists(name) do sleep(5), то это тоже не спасает, FileExists видит такой файл, а при попытке сделать ему Reset получается I/O error 32. Спасает только просто sleep() с некоторым большим интервалом, но это плохо, т.к. необходимое значение такого интервала будет зависеть от конкретного компьютера и его загруженности другими приложениями. Как тут быть?


 
Anatoly Podgoretsky ©   (2004-07-11 10:39) [1]

Так ты тогда ошибку обрабатывай у Reset


 
Mim1 ©   (2004-07-11 11:18) [2]


>  Программа уже закончила работать, а файл становится видимым
> только через какое-то время


Полтергейст какой то :), врядли такое есть в реале, наверное дело в чем нибудь другом.


> Если поставить while not FileExists(name) do sleep(5), то
> это тоже не спасает, FileExists видит такой файл, а при
> попытке сделать ему Reset получается I/O error 32.


Может все таки программа не завершилась, или файл занят кем то еще?


 
TUser ©   (2004-07-11 11:59) [3]


> Полтергейст какой то :), врядли такое есть в реале, наверное
> дело в чем нибудь другом.

А посмотрите, когда файлы в Проводнике появляются - тоже ведь не сразу. А программа завершается - там WaitForSingleObject.

> Так ты тогда ошибку обрабатывай у Reset

Был у меня такой вариант.
     b:=false;
     repeat
        try
         reset(f);
         b:=true;
        except
        end;
     until b;

Но как-то выглядит подозрительно. Неужели нет чего-нибудь типа WaitForSingleObject, но так, чтобы ожидалось не окончание процесса, а появление эготового файла"?


 
Anatoly Podgoretsky ©   (2004-07-11 12:21) [4]

FindFirstChangeNotificationИ не путай появление файлов в проводнике, которое делается с задержкой, ты по попробуй нажать F5 и увидишь файлы, которые по твоему не появились


 
Mim1 ©   (2004-07-11 15:26) [5]

Появление файлов в проводнике не как ни связано с появлением их на диске.



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

Форум: "Основная";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.031 c
14-1089025534
Vlad Oshin
2004-07-05 15:05
2004.07.25
:)


14-1089300094
СатирЪ
2004-07-08 19:21
2004.07.25
Proxies.dcu


3-1088573748
Ratiborr
2004-06-30 09:35
2004.07.25
На сколько облегчает DLL


1-1089454073
glGLU
2004-07-10 14:07
2004.07.25
Application.CreateForm(TForm1, Form1);


1-1089711127
Kost
2004-07-13 13:32
2004.07.25
Сложное наследование





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