Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Чтение/запись файла в отдельном потоке


Страницы:   1 2

DevilDevil ©   (2009-07-22 11:01:00) 

Есть ли какие рекомендации? Код?
Как обработать ошибки, отменить, "сделать паузу"?
Какими блоками читать/писать?


Palladin   (2009-07-22 11:33:00) [21]


> какой размер блока нужно выставлять? 16кб?

А какая разница в размере блока при использовании основного или дополнительного потока?


> Как её отловить?

А как ты ее в основном отлавливаешь?


> Ничего не зависнит?

А что зависнит? Основной поток виснит?


DevilDevil   (2009-07-22 11:21:00) [22]

какой размер блока нужно выставлять? 16кб?
при чтении/записи на CD/флешки/ломаного винта может возникать ошибка. Как её отловить? Ничего не зависнит?


Юрий Зотов   (2009-07-22 11:15:00) [23]

Что-то типа этого:

Execute:

while not Terminated do
try
 while Pause do // Pause - булевское поле (или свойство) потока
   Sleep(1);
 Читать (или писать) блок
except
 Передать в GUI сообщение об ошибке
 Terminate
end;

GUI:

Кнопка "Пауза": Thread.Pause := True;
Кнопка "Продолжить": Thread.Pause := False;
Кнопка "Прервать": Thread.Terminate;


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо