Тема: реализация undo

Пытаюсь реализовать undo, для этого создал кнопку на форме, в цикле использую команду GetPoint, пока система ждет точку я могу изменять параметры рисования и т.д., нужно что бы система реагировала на нажатие кнопки, ставила метку что откат, продолжая далее выполнение программы не дожидаясь ввода точки , а то получается что я нажал кнопку, а программа требует куда нить указать т.к. команда GetPoint ждет ввода.
пример:

Do
    Err.Number = 0
        If undoo = True Then
            undoo = False
            vpickfirst = pt2
            pt1 = pt2
            ReDim Preserve dCoords(UBound(dCoords) - 2)
            I = I - 2
            For counter = 0 To 50
            Set blockRefObjDel = blockRefObjARR(counter)
            blockRefObjDel.Delete
            Err.Number = 0
            Next counter
            'зачистка параметров. подпрограмма
            vpickfirst = ThisDrawing.Utility.GetPoint(vpickfirst, vbCr & "... укажите следущую точку: ")
        Else
            vpickfirst = ThisDrawing.Utility.GetPoint(vpickfirst, vbCr & "... укажите следущую точку: ")
            If undoo = True Then
                Err.Number = 91
            End If
        End If
                                            If Err.Number = -2145320928 Then
                                                'зачистка параметров. подпрограмма
                                                Exit Do
                                            End If
  Loop While Err.Number <> 0

Re: реализация undo

> nik-niken
Мне что-то не нравится в самой твоей концепции..
Наверно проще использовать нечто вроде:

Option Explicit
Sub sGetPoint()
 ' by mig8 (Greg)
Dim vPoint As Variant
vPoint = ThisDrawing.Utility.GetPoint(, "Первая тчк")
On Error Resume Next
Do
vPoint = ThisDrawing.Utility.GetPoint(vPoint, "Следующая тчк (жми Enter для остановки)")
' << здесь дальнейшее выполнение программы >>
Loop While Err = 0
MsgBox "Finish"
End Sub

или тому подобное, в промежутках между
указанием точек ничто не мешает выполнять
другие действия
~'J'~

Re: реализация undo

Мне необходимо что бы GetPoint воспринимал какую нить команду или еще что , как ввод точки, для того что бы пропустить итерацию если нажата кнопка на форме.

Re: реализация undo

Видимо не умею я правильно задавать вопросы:(
Попробуею еще раз.
Команда GetPoint ждет ввода точки, надо что бы я мог подать любую другую команду, что бы команда GetPoint пропустила выполнение проги дальше чтолько это должно быть не нажатия кнопки на пространстве листа (модели).
тогда я бы мог обработать результат команды , и пустить заного запрос точки уже изменив параметр начальной точки.