Sorry to play the newbie but I am trying to get a better understanding of the problems you are talking about.
So when you say a "text based" approach, what exactly do you mean? Could you describe it?
I am also not sure I understand exactly what you mean about the Office version change. We store the GUID of the ActiveX control and so will load in the same version. It would be possible to use the ProgID instead but (a) it isn't required for COM objects to have a ProgID and (b) it breaks the compatibility goal by possibly creating an instance that doesn't support the same COM contracts as the previous one (you can map the ProgId to any CoClass GUID). Help me understand the usage you would want in these cases.
The version based code you mentioned is an interesting puzzle. Our goal is to maintain the polymorphic nature of LV by having the type information (in this case the ActiveX refnum) propagate along the wire and have the node adapt dynamically. You would basically want something like a case structure where the case is selected by the refnum (GUID inside)?
In the .NET side of things, we have put in more dynamic adaptation to changes in the system (version changes in the .NET assemblies) - but we can do that due to .NET's versions and rules of the Fusion system (the .NET code that locates assemblies). In ActiveX it isn't quite as easy, but I want to understand what we could do better.
Message Edited by Lycangeek on 03-31-2005 11:30 AM