Тема: ТАЙМЕР. Как прервать долго выполняющуюся команду

Есть ли компонент Timer и как его можно использовать для регенерации формы во время выполнения долгих команд (explode)

Re: ТАЙМЕР. Как прервать долго выполняющуюся команду

1. Create global var
Dim Stop as Boolean
2. Create new form ?wait? with label1 on and code
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = 27 Then
        If MsgBox("User Abort !", vbYesNo, "Labeling") = vbYes Then
            StopLab = True
        End If
    End If
End Sub
3. Before loop
Hide your form
Me.Hide
and start new form
wait.Show
4. inside loop
DoEvents
AppActivate "wait"
Wait.Refresh
Wait.Label1 = CStr(i)
If Stop Then
exit for
End If
i = i ? 1
5. After loop
Hide new form
wait.Hide
and start your form
Me.Show

Re: ТАЙМЕР. Как прервать долго выполняющуюся команду

cadhelp
Спасибо. Попробую!!

Re: ТАЙМЕР. Как прервать долго выполняющуюся команду

Если в цикле выполняется много мелких команд это все прекрасно работает.
Но некоторые команды ACAD типа explode, могут выполняться по несколько минут (если сложный чертеж). Соответственно это время форма висит.
А КАК ПРЕРВАТЬ ЭТУ КОМАНДУ???
Помогбы наверно таймер, но его похоже нет.

Re: ТАЙМЕР. Как прервать долго выполняющуюся команду

ПРЕРВАТЬ ЭТУ КОМАНДУ???
Э-Э-Э-Э  а ето как?
Вы в автокаде пробовали прервать ету команду?

Re: ТАЙМЕР. Как прервать долго выполняющуюся команду

sendcommand("explode")
может быть долгим процессом (1-2 мин), прервать врядли удасться, да и не нужно. Только как можно в течении этого времени (1-2 мин) обновить экран.

Re: ТАЙМЕР. Как прервать долго выполняющуюся команду

Или не как!!!

Re: ТАЙМЕР. Как прервать долго выполняющуюся команду

Извиняюсь, меня занесло из лиспа...
Но все-же вопрос: что тебе приходится взрывать? Например, в подобной проблеме с блоками, я перерисовываю их заново, по одному в цикле, тогда регенерацию экрана можно делать - хоть каждый раз... а после удалить обработанный блок.
Приостановить или прервать на время команду  (explode) нельзя! Если приходится взрывать сложные солиды - попробуй обновить документ перед командой, вроде слегка побыстрее работает.