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

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

Как прервать выполнение программы? [D7, WinXP]


tytus ©   (2005-03-16 09:55:00) 

Добрый день господа. В программе есть цикл от 1 до размера файла (до 20 метров), в котором читается каждый байт и ищется два подряд идущих однинаковых байта (142). На форме хочу добавить кнопку "Отмена", и чтобы кликая по ней цикл прерывался или закрывалась форма фообще. На форме есть прогрессбар, который рисуется через Application.Processmessage. Но нажатие на кнопку ничего не дает (ее обработчик просто закрывает форму Close). Помогите как это правильно сделать.


Anatoly Podgoretsky   (2005-03-16 10:11:00) [1]

Close надо делать главной форме.


Virgo_Style   (2005-03-16 10:11:00) [2]

File of byte + Read ? Читай лучше в буфер. Тогда прерывание работы может и не понадобиться.


KSergey   (2005-03-16 10:00:00) [3]

isTerminate: Boolean;
.............

isTerminate := FALSE;

while NOT File.Eof AND NOT isTerminate do
...

procedure TForm1.ButtonStopClick(..)
begin
  isTerminate := TRUE;
end;


КаПиБаРа   (2005-03-16 09:57:00) [4]

При нажатии на кнопку выставляй флаг.
В цикле проверяй состояние флага и если он выставлен завершай цикл.


Наверх

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