Вниз
Скачать: CL | DM;

Подвисание при обращениии по несущ. адресу.   Найти похожие ветки 

 
FZ*XupypG ©   (2003-05-04 01:57) [0]

При сохранении файла на компьютер в локальной сети используется SaveToFile. При этом, если компьютер перезагружается или ещё что-то, происходит зависание, иногда навсегда... Существует ли способ обеспечить корректную обработку такого случая и недопустить зависание программы? Стандартные блоки try\finl\exc здесь неработают. Также бесполезно проверять доступность компьютера, т.к. он может начать перезагр во время сохранения файла.


 
Great_Lesh   (2003-05-04 07:37) [1]

Хоть бы кусочек кода дал + посмотрелбя, на какой строчке зависает и указал в коде комментарием, а то не совсем понятно, о чем идет речь. Попробуем помочь!


 
FZ*XupypG ©   (2003-05-07 02:01) [2]

На форме есть RichEdit. Текст из него сохраняю так
RichEdit1.lines.savetoFile("\\SomeComp\c\temp\");
И вот в момент сохранения целевой компьютер начинает перезагружаться. При этом программа начинает тормозить и зависает намертво. Как обойти зависание программы в таком случае?


 
Verg ©   (2003-05-07 09:07) [3]

Боюсь, что для общего случая никак.
Единственный способ - это отказаться от SaveToFile на сетевую шару, а использовать Win Api overlapped IO. Правда, на 9x работать не будет.
Зато можешь прервать операцию и/или использовать таймауты.


 
FZ*XupypG ©   (2003-05-08 02:17) [4]

2Verg
Хорошо. Тогда как прервать оперцию или использовать таймаут?


 
Verg ©   (2003-05-08 11:21) [5]

Ну, я же тебе говорю - используй overlapped IO и у тебя появится свобода маневра.
Стандартные делфийные reset/rewrite не позволяют использовать такого сорта ввод/вывод, поэтому придется savetofile сделать в файл на локальном диске, а затем используя Win Api возможности по overlapped перекачать этот файл на сетевую шару.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.013 c
1-44734
MARcoDEN
2003-06-30 13:00
2003.07.14
Координаты пункта меню


7-44938
SDW@coder
2003-05-01 06:24
2003.07.14
Работа с LPT портом


14-44864
nester
2003-06-26 19:07
2003.07.14
Как можно заменить встроенные ресурсы?


14-44901
nick-from
2003-06-27 00:05
2003.07.14
конкурс: Лучший 19 ЭЛТ монитор (если можно с комментами)


7-44913
Brain Force
2003-04-28 19:21
2003.07.14
Перезагрузка Виндов




   Наверх