Hi everybody. No, I have not forgotten about you. When I got back from LA I had a lot more work piled up than I planned on, then I took a few days off to work on a few things around the house, and then the last week I have been fighting off a cold. But I should be able to make more posts in the future because I finally, after 1 ½ months of fighting with my telco, got DSL connected. I will not go into details, but they messed things up so bad that I would have switched to cable a long time ago if I would have been able to keep my home e-mail address.

 

So what have I been working on lately? Mostly code cleanup. Over the years a VS has been written using different wrapper libraries that has made upgrading the automation code to be a bit of a pain. After some changes, most of the automation model now uses ATL, and adding new interfaces to an object is a breeze. What kinds of new interfaces?  Well, we have a new one called LifetimeInforamtion that will let you find out if an object is still around. For example, suppose you have an Add-in that has a reference on a Command object. Then code in a macro runs which calls Command.Delete on the command the Add-in has a reference on. If the Add-in starts to call methods or properties on that Command object, those methods/properties will fail and you would not know why. Using the LifetimeInformation.HasBeenDeleted property you can determine if the object has been deleted. Remember zombies from my 10/10 post? This property lets you find out if something is zombied. While this new interface is not too useful for development, it is debugging helper, allowing you to look in on an object’s lifetime.

 

Before I go, I want to say hello to a few people. First, for those I spoke with at PDC -- either at the conference or at the hotel, and to those who asked me to sign their copy of the book, I enjoyed hearing (both the good and the bad) about how you are using VS. Keep sending the suggestions our way. Second, I want to say hello to the folks over at the VSNetAddin Yahoo group. If you are interested in the VS Automation Model, this group is a very valuable resource for tips, tricks, and help for when you get stuck. I frequently read their messages; although I don’t get to respond too often (usually because somebody replies before I get a chance to).