Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.14;
Скачать: 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 вся ветка

Текущий архив: 2003.07.14;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.024 c
14-44836
Дмитрий К.К.
2003-06-26 06:04
2003.07.14
Именинники 26 июня


3-44592
Fuelfire
2003-06-21 06:33
2003.07.14
Memo-поле и Paradox


1-44644
NAlexey
2003-07-01 11:15
2003.07.14
Ошибка записи в поток.


3-44598
ruslan_as
2003-06-21 11:13
2003.07.14
Структура базы InterBase


7-44920
anpv
2003-05-02 18:34
2003.07.14
ISA