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

Вниз

Прервать выполнения цикла   Найти похожие ветки 

 
jenbond   (2004-09-16 19:53) [0]

Мастера подскажите как можно прервать выполнения цикла нажатием на клавишу или каким-либо действием?


 
Sergey Kaminski ©   (2004-09-16 19:56) [1]

Да по-разному можно.
Например, завести глоб. переменную Boolean. В цикле поставить Application.ProcessMessages и проверку значения переменной. В обработчике нажатия клавиши или экранной кнопки менять значение глобальной переменной. Все.


 
Sergey Kaminski ©   (2004-09-16 20:00) [2]

А если цикл затягивается надолго (т.е., там более-менее серьезные действия с точки зрения потребления ресурсов и времени), имеет смысл вынести его в отдельный поток(нить). Потом управлять действиями запущеной нити. Хотя бы через ту же глобальную переменную.


 
_student   (2004-09-16 20:01) [3]


> jenbond

Конкретизируй вопрос


 
jenbond   (2004-09-16 20:04) [4]

Да в данном цикле выполняется большое количество операции и они забирают большое количество ресурсов в процессе выполнения данного цикла необходима возможность прерывания по нажатию на кнопку.


 
Sergey Kaminski ©   (2004-09-16 20:05) [5]

Ну так в чем вопрос-то?


 
_student   (2004-09-16 20:06) [6]

Смотри
> Sergey Kaminski ©


 
Anatoly Podgoretsky ©   (2004-09-16 20:07) [7]

Break


 
jenbond   (2004-09-16 20:31) [8]

Я уже создал дополнительный поток, запускаю его но не могу ни как найти метод коректного принудительного завершения.
Подскажите?


 
_student   (2004-09-16 20:38) [9]

Terminate не работает чтоли?


 
jenbond   (2004-09-16 20:52) [10]

Так Terminate закрывает все приложение а мне нужно остановить только поток!


 
_student   (2004-09-16 20:55) [11]

MyThread.Terminate - остановка потока


 
jenbond   (2004-09-16 21:01) [12]

Вот я создал класс
type
 test = class(TThread)
 private
   Answer:integer;
 protected
   procedure Execute; override;
   procedure GiveAnswer;
 end;
Мне еще как-то нужно создать процедуру Terminate?


 
_student   (2004-09-16 21:06) [13]

Нет. Нужно создать экземпляр класса у которого есть метод Terminate


 
jenbond   (2004-09-16 21:13) [14]

Всем большое спасибо разобрался!



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

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

Наверх




Память: 0.47 MB
Время: 0.032 c
14-1094389442
начинающий
2004-09-05 17:04
2004.10.03
Delphi vs. C++


3-1094450667
Fynjy1984
2004-09-06 10:04
2004.10.03
Дерево


8-1089272832
Ale}{(is)
2004-07-08 11:47
2004.10.03
256-цветное изображение


4-1093185630
Graf
2004-08-22 18:40
2004.10.03
Получение ресурса из внешнего EXE или DLL файла


1-1095673852
Seducer
2004-09-20 13:50
2004.10.03
Программирование для КПК





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