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

Вниз

Как сделать так, чтобы программа не висла?   Найти похожие ветки 

 
.::D.e.M.o.N.i.X::.   (2003-02-28 15:26) [0]

Например, я читаю файл с диска с помощью API, а файл плохо читается и API глохнет(программа не отвечает на системные запросы). Стандартно Application.processmessage не помагает. Как обойти зависание?


 
Dms   (2003-02-28 15:30) [1]

Используй потоки, должно помочь.


 
Anatoly Podgoretsky   (2003-02-28 15:37) [2]

Как и откуда читаешь?


 
Serious Sam   (2003-02-28 15:41) [3]

>Как обойти зависание?

Либо сделать нормальный кодинг, либо не запускать программу


 
.::D.e.M.o.N.i.X::.   (2003-02-28 15:42) [4]

Тупо делаю FileRead - на нем и виснет:(


 
Smithson   (2003-02-28 15:46) [5]

Код в студию!


 
.::D.e.M.o.N.i.X::.   (2003-02-28 15:51) [6]

Короче что-то около того
BytesCopied := FileRead(Source, CopyBuffer^, 512);
if BytesCopied > 0 then
FileWrite(Dest, CopyBuffer^, BytesCopied);

Если файл плохо читается, то на месте BytesCopied := FileRead(Source, CopyBuffer^, 512); наглухо виснет.


 
Anatoly Podgoretsky   (2003-02-28 16:05) [7]

Делай в отдельном потоке


 
.::D.e.M.o.N.i.X::.   (2003-02-28 16:08) [8]


> Делай в отдельном потоке

А по-конкретней... DLL что-ли для этого писать?


 
Serious Sam   (2003-02-28 16:22) [9]

Что значит "файл плохо читается"?


 
BJValentine   (2003-02-28 16:26) [10]

Попробуй секцию Try... Except;


 
Переяслов Григорий   (2003-02-28 16:28) [11]

Используй TThread bkb File/New -> Thread object


 
.::D.e.M.o.N.i.X::.   (2003-02-28 16:35) [12]


> Попробуй секцию Try... Except;

Это уже пройденный материал. Дело в том, что FileRead виснет например на сидюке, когда компашка дохлая(вся в царапинах). FileRead может выполнятся и 10 минут и 20 минут (у меня сидюк Asus50x еще до удешевления производтсва, так он все подрят жрет, даже компашки с поврежденной поверхностью, и что удивительно без ошибок). На других сидюках(Sony, Panasonic, Samsung) FileRead завершается быстро, но результат = 0.


 
.::D.e.M.o.N.i.X::.   (2003-02-28 16:37) [13]


> Используй TThread bkb File/New -> Thread object

Спасибо, только что прочитал статью на InfoCity.


 
Serious Sam   (2003-02-28 16:37) [14]

overlapped read пробовали?



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

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

Наверх





Память: 0.47 MB
Время: 0.008 c
3-29777
diwin
2003-02-20 10:16
2003.03.10
можно ли оптимизировать запрос (очень хотелось бы :) )?


14-30033
stone
2003-02-19 11:18
2003.03.10
Новая встреча


1-29903
TLamer
2003-02-26 18:14
2003.03.10
ListView


3-29748
Карелин Артем
2003-02-19 13:18
2003.03.10
Обработка массивов в базах данных. Дубль 2 :-(


6-29973
Карелин Артем
2003-01-21 14:04
2003.03.10
Дозвон через удаленный доступ. + Параметры набора.





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