|
|
|
как можно прервать выполнение команды
|
|||
|---|---|---|---|
|
#18+
Помогите. Ситуация такая, бросил на форму прогрессбар написал следующий код в click-е одной кнопки, и хочу создать другую, по нажатию которой бы этот процесс прекращался. Как это можно сделать. Thisform.olecontrol1.max=10 For i=0 to 10 Wait “” timeout 1 Thisformset.olecontrol1=i endfor ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2005, 08:15:02 |
|
||
|
как можно прервать выполнение команды
|
|||
|---|---|---|---|
|
#18+
Внутри цикла нужно вставить команду DOEVENTS, для того, чтобы дать возможность сработать коду нажатия клавиши (событие Click()). Внутри кода нажатия клавиши надо изменить какую-либо пропертю формы, по значению которой осуществляется выход из цикла. Примерно так: -) На форме создается пропертя ThisForm.IsExit = .F. -) Код цикла Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. -) В событии кнопки Click() Код: plaintext Только следует иметь в виду, что команда DOEVENTS для версии VFP6 приведет к страшным тормозам. Поэтому ее следует вызывать не на каждом шаге цикла, а, скажем, каждые 5...10 секунд (в цикле поставить контроль времени через Seconds()). В VFP7 вроде бы таких тормозов из-за использования DOEVENTS не наблюдается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2005, 12:27:35 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33280905&tid=1593437]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
179ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 485ms |

| 0 / 0 |
