![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Подвисание при обращениии по несущ. адресу. [D6, WinXP]
FZ*XupypG © (2003-05-04 01:57:00)При сохранении файла на компьютер в локальной сети используется
SaveToFile. При этом, если компьютер перезагружается или ещё что-то, происходит зависание, иногда навсегда... Существует ли способ обеспечить корректную обработку такого случая и недопустить зависание программы? Стандартные блокиtry\finl\excздесь неработают. Также бесполезно проверять доступность компьютера, т.к. он может начать перезагр во время сохранения файла.
Verg (2003-05-08 11:21:00) [1]Ну, я же тебе говорю - используй overlapped IO и у тебя появится свобода маневра.
Стандартные делфийные reset/rewrite не позволяют использовать такого сорта ввод/вывод, поэтому придется savetofile сделать в файл на локальном диске, а затем используя Win Api возможности по overlapped перекачать этот файл на сетевую шару.
FZ*XupypG (2003-05-08 02:17:00) [2]2Verg
Хорошо. Тогда как прервать оперцию или использовать таймаут?
Verg (2003-05-07 09:07:00) [3]Боюсь, что для общего случая никак.
Единственный способ - это отказаться от SaveToFile на сетевую шару, а использовать Win Api overlapped IO. Правда, на 9x работать не будет.
Зато можешь прервать операцию и/или использовать таймауты.
FZ*XupypG (2003-05-07 02:01:00) [4]На форме есть RichEdit. Текст из него сохраняю так
RichEdit1.lines.savetoFile("\\SomeComp\c\temp\");
И вот в момент сохранения целевой компьютер начинает перезагружаться. При этом программа начинает тормозить и зависает намертво. Как обойти зависание программы в таком случае?
Great_Lesh (2003-05-04 07:37:00) [5]Хоть бы кусочек кода дал + посмотрелбя, на какой строчке зависает и указал в коде комментарием, а то не совсем понятно, о чем идет речь. Попробуем помочь!