1. No, lisp doesn't possess more ActiveX than VBA. It's the same underlying structure for both. I just find using ActiveX easier in vba, mainly because of vba's IDE.
2. Yes, you can type lisp at the command prompt.
Let's see if I can explain the selectionset problem simpler. Let's say a selectionset contains the ObjectID's (1,2,3,4,5). You explode object 3, which deletes that ID from the database. However, the ss still says 1-5. If you try to access the ss, you will get an error because 3 is gone from the set. You need to run the ss.Select method again to refresh the list of ObjectID'. Now you can access the set again without getting an error. The problem is similar to iterating a collection. Take a look at the code below.
For Each layerObject in ThisDrawing.Layers
If layerOjbect.Linetype = acContinuous then layerObject.Delete
Next
If you delete an object in a collection, it changes the index to the collection. You may get unpredictable results with the code above, because each time the For..Each does an iteration, you are changing the list of items in the Layers collection. The list is not the same as when you started the loop.
Ed
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.
How to
post your code.