Тема: Глюк при повторном запуске программы через промежуток времени
Всем доброго времени суток!
Ситуация следующая. Я не могу понять причину весьма странного явления.
Есть программа. Я её запускаю несколько раз (руками, по Alt+F8), и всё отлично работает, если между запусками прошло не очень много времени. Однако, если между запусками подождать 1 или 2 минуты, то при попытке запустить программу появляется exception и прога падает вместе с AutoCAD-ом.
Можно предположить, что проблема из-за памяти, но я этим я уже боролась - вроде бы, освобождаю. У меня вызывает подозрения следующий фрагмент кода с применением LISP, котороый я списала не очень понимаю (однако, он работает):
ThisDrawing.SendCommand "(setq ss (ssadd))" + vbCr
For Each obj In ThisDrawing.SelectionSets.Item("sel_set_highlight")
v = obj.Handle
ThisDrawing.SendCommand "(ssadd (handent """ + v + """) ss)" + vbCr
Next
ThisDrawing.SelectionSets.Item("sel_set_highlight").highlight (True)
ThisDrawing.SendCommand "(sssetfirst nil ss)" + vbCr
ThisDrawing.Regen acAllViewports
Была мысль, что надо удалять этот ss, и я это делала так:
For Each obj In ThisDrawing.SelectionSets.Item("sel_set_highlight") 'clear LISP's SelSet
v = obj.Handle
ThisDrawing.SendCommand "(ssdel v ss)" + vbCr
Next
Потом я решила, что можно вообще чистить все SelSet-ы перед новым запуском, чтобы никаких глюков от прошлого запуска не оставалось. Делала это так:
For Each ss In ThisDrawing.SelectionSets
ss.Delete
Next
Но и это не помогло.
Надеюсь на вашу помощь!