powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / как можно прервать выполнение команды
2 сообщений из 2, страница 1 из 1
как можно прервать выполнение команды
    #33280223
проц
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите. Ситуация такая, бросил на форму прогрессбар написал следующий код в click-е одной кнопки, и хочу создать другую, по нажатию которой бы этот процесс прекращался. Как это можно сделать.

Thisform.olecontrol1.max=10
For i=0 to 10
Wait “” timeout 1
Thisformset.olecontrol1=i

endfor
...
Рейтинг: 0 / 0
как можно прервать выполнение команды
    #33280905
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Внутри цикла нужно вставить команду DOEVENTS, для того, чтобы дать возможность сработать коду нажатия клавиши (событие Click()). Внутри кода нажатия клавиши надо изменить какую-либо пропертю формы, по значению которой осуществляется выход из цикла.

Примерно так:

-) На форме создается пропертя ThisForm.IsExit = .F.

-) Код цикла

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
ThisForm.IsExit = .F.
For i= 0  to  10  
	DOEVENTS
	IF ThisForm.IsExit = .T.
		EXIT
	ENDIF
	* Собственно выполнение цикла
endfor

-) В событии кнопки Click()

Код: plaintext
ThisForm.IsExit = .T.

Только следует иметь в виду, что команда DOEVENTS для версии VFP6 приведет к страшным тормозам. Поэтому ее следует вызывать не на каждом шаге цикла, а, скажем, каждые 5...10 секунд (в цикле поставить контроль времени через Seconds()).

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


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