powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Выход из рекурсии, по желанию usera
3 сообщений из 3, страница 1 из 1
Выход из рекурсии, по желанию usera
    #32229899
FORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите.
Есть простая рекурсия по поиску файла везде. Нужно, чтобы пользователь мог прекратить её выполнение по желанию. Как определить, что произошло нажатие кнопки, мыши ....
...
Рейтинг: 0 / 0
Выход из рекурсии, по желанию usera
    #32229915
ValeryR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К сожалению не знаю точно как это будет выглядить на Delphi, но общий подход такой:
-либо выполнять рекурсию в отдельном потоке, и следить за каким-нибудь событием, выставляемым по нажатию Cancel в основном потоке приложения
-либо делать всё в одном потоке, но периодически вызывать отработку сообщений
В обоих случаях юзер-интерфейс не будет блокироваться.
...
Рейтинг: 0 / 0
Выход из рекурсии, по желанию usera
    #32230055
MrAlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну типа так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Var Exit : Integer ;

Function Cycle() ;
Begin
  Exit :=  0  ;
  Uslovie :=  0  ;
  While Uslovie =  0  Do
  Begin
    Exit :=  0  ;
    If Exit =  1  Then
    Begin
      Uslovie :=  1  ;
    End ;
    Application.ProcessMessages() ;
  End ;
  ShowMessage('Exit !!!') ;
End ;

Procedure TForm1.Button1Click(AOwner : TObject) ;
Begin
  Exit :=  1  ;
End ;


Application.ProcessMessages() - будет делать прокачку помпы сообщений, т.е. ты сможешь нажать на кнопку Button1, которая и задаст условие выхода из цикла...
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Выход из рекурсии, по желанию usera
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]