Sharing the goodness…
Beth Massi is a Senior Program Manager on the Visual Studio team at Microsoft and a community champion for business application developers. Learn more about Beth.
More videos »
Thursday: Okay I know it's Friday but I was the last session of the day yesterday and I didn't have time to post afterwards (I'll tell you why in a minute).
My duet session with Rob Windsor was on VB6 to .NET Migration. We're going to take this one to TechEd this year as well. We've also done a webcast on this too that you can watch here. There weren't too many people in this one but it's always hard when you are the last session of the last day of a conference. Even though I was slightly burned out I think the talk went really well (at least the evals said so).
Rob and I started off the session by presenting a decision framework of different upgrade strategies. We talked about how you can decide if migration is the best option for your situation. Then Rob went over interop with COM and .NET by showing how you can call a COM component from .NET and how you can call a .NET component from VB6 using Runtime callable wrappers (RCW) and COM callable wrappers (CCW).
Next I presented the Interop Forms Toolkit. (I've written about this toolkit before in this blog as well as have done videos on these.) The toolkit allows you to take a phased migration approach to moving (or just extending) your VB6 application by making it really easy to build .NET user controls and forms and run then directly from your VB6 applications. When you install the toolkit it gives you new project templates for building user control or form libraries that have all the pluming set up to register them properly and let you use them in your VB6 apps. I showed how to create an Interop user control, expose a public property and use it from a VB6 app. Then I showed how debugging works and how you can get My settings working properly as well.
Rob finished up the show by taking the code I built and showing how to expose .NET events to VB6 as well as how you can manage global variables and state between VB6 an .NET using the features of the toolkit. I think people really liked the demos because we really showed how easy it is.
Now for the reason why I didn't have time to post yesterday. Jean-Rene, the conference organizer gave Alan and I tickets to The Cure who were playing at the Air Canada Centre. Although I was never a huge Cure fan (my sister more than me) I thought it would be semi-nostalgic to see them. But we didn't care about the opening act and I was pretty wiped so we went and had a great Italian dinner and then walked down to the arena. We walked in easily, bought a couple beers, and headed in right as they started. I have to admit they were pretty good after all these years and they played a lot of old songs that I recognized so it turned out to be a great time.
Thanks Jean-Rene and Toronto for a great conference! Now time to pack, grab some lunch and head to the airport.
You guys went to see the CUre? When I lived in NYC I had a full size poster of RObert Smith in my apartment kitchen. Yep - definitely a fan back in the day.
Another DevTeach has come and gone and, as always, it was a great week. I just finished reading the comments
It sounds like you had a great time. The cure brings back memories, but they were really awkward memories.
As to VB6 interoperability. It doesn't hold very much interest to me. I've been working with vb since vb4. I still have six code in production and keep a compiler in a vm for it. Fortunately, the way I wrote the software, if you install with Administrator rights, then run it for the first time as Administrator. Then it works fine under user rights.
Our vendor's software isn't really working under that recipe, it is one of the hurdles of going campus wide with Vista.
All the newer stuff works out of the box with Vista. VB.Net 2005 always prompts me to run it as Administrator, I ignore the prompt and run it as user, the Admin prompt rarely appears. The major compatability hurdle is that it doesn't have rights to run legacy eventlog code.
Anyway, I'm glad that you had fun at the event. Many thanks for all your hard work. I love your technique of writing the code as you present. I'm going to try to emulate that next time I present code.