![]() |
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]() ![]() ![]() |
|
Volkogriz |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 216 Регистрация: 16.9.2007 Репутация: нет Всего: 1 |
Доброе время суток!
Нашол код , пост http://forum.vingrad.ru/forum/topic-199609...ектории/0.html# . Предложил уважаймый Данкинг.
Как при нажатии кнопки отмена остановить поиск!? С уважением, Volkogriz!!! --------------------
("`-''-/").___..--''"`-._`6_6 ) ,,,`-. ( ''' ).` "_-.__.')(_Y_.)' ._''' ) `._ `. ``-.__'.-'_..`--'_..-_/'''/--'_.' ,'(il).-'''''(li).' ((!.-' |
|||
|
||||
Qu1nt |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 602 Регистрация: 13.1.2007 Репутация: 22 Всего: 50 |
Попробуй добавить флаг в тело процедуры. Ну а по-хорошему - потоки, потоки... потоки!
|
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
Заводишь глобальную переменную и перед application.ProcessMessages проверяешь её значение. Если оно изменено, то exit - выход из процедуры. Значение же это меняется по нажатию на твою кнопку "стоп".
Я объяснил сильно абстрактно, но суть должна быть ясна. ![]() Это сообщение отредактировал(а) Данкинг - 15.1.2009, 02:33 -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
Volkogriz |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 216 Регистрация: 16.9.2007 Репутация: нет Всего: 1 |
Всем спасибо!
))) Поточьней мона? ![]() С уважением, Volkogriz!!! --------------------
("`-''-/").___..--''"`-._`6_6 ) ,,,`-. ( ''' ).` "_-.__.')(_Y_.)' ._''' ) `._ `. ``-.__'.-'_..`--'_..-_/'''/--'_.' ,'(il).-'''''(li).' ((!.-' |
|||
|
||||
THandle |
|
|||
![]() Хранитель Клуба ![]() Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 50 Всего: 372 |
Volkogriz, а что тут, собственно говоря, точнее?
![]() Заводишь глобальную переменную(пишешь там где у тебя var Form1: TForm1, или другие имена. Ну то есть где объявление переменной формы) и проверяешь в своей функции. Типа:
А по нажатию какой то кнопки делаешь эту переменную равной true. Что тут не ясно? ![]() честно говоря такой подход мне не нравится. ИМХО, лучше потоки. |
|||
|
||||
morpheyushka |
|
|||
![]() Зеленый человек ![]() ![]() Профиль Группа: Участник Сообщений: 563 Регистрация: 26.2.2008 Где: Киев Репутация: 2 Всего: 8 |
||||
|
||||
Frees |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 16 Всего: 54 |
-------------------- Кольцов Виктор Владимирович |
|||
|
||||
THandle |
|
|||
![]() Хранитель Клуба ![]() Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 50 Всего: 372 |
Frees, ну представим ситуацию. У нас на форме кнопка и мемо. И есть диск на котором до фига и больше файлов.
Запускаем код в одном потоке, со всеми Application.ProcessMessages. В этом коде все найденные файлы добавляются в Memo. Что мы имеем? При перетаскивании мемо уже не обновляется. Закрыть приложение не реально. Какие-то другие действия делать? ![]() теперь делаем еще одно такое же приложение, только поиск файлов осуществляем в потоке и при каждом найденном делаем Synchronize в Мемо, добавляя строчку. Что имеет тут? Никаких проблем из первого варианта у нас нет ![]() И хоть пример довольно корявый, но все равно при замере времени выполнения с GetThreadTimes оказалось что с отдельным потоком работает в среднем на ~15% быстрее. Так что... ![]() |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 18 Всего: 88 |
-------------------- Обижено школьников: 8 |
|||
|
||||
Volkogriz |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 216 Регистрация: 16.9.2007 Репутация: нет Всего: 1 |
Доброго времени суток!
Всем огромное спасибо! А уточнить мона!? ![]() --------------------
("`-''-/").___..--''"`-._`6_6 ) ,,,`-. ( ''' ).` "_-.__.')(_Y_.)' ._''' ) `._ `. ``-.__'.-'_..`--'_..-_/'''/--'_.' ,'(il).-'''''(li).' ((!.-' |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 18 Всего: 88 |
можна, но не стоит. Сделай просто шоб работало.
![]() -------------------- Обижено школьников: 8 |
|||
|
||||
Volkogriz |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 216 Регистрация: 16.9.2007 Репутация: нет Всего: 1 |
Спасибо!!!
Я зделал, работает!!!))) Просто и другие варианты хочеться понять! В учебниках толком не понять!!!))) С уважением, Volkogriz!!! --------------------
("`-''-/").___..--''"`-._`6_6 ) ,,,`-. ( ''' ).` "_-.__.')(_Y_.)' ._''' ) `._ `. ``-.__'.-'_..`--'_..-_/'''/--'_.' ,'(il).-'''''(li).' ((!.-' |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |