How Do I Change a Reference to a Certain COM Object? (Magic xpa 3.x)
One very nice thing about the COM standards is that they are designed to be forward compatible. That is, if the COM object conforms to standards, then when you install a new version of the COM object, the old methods should still work. The standards cover a lot of details about this, and when you write your own COM objects, you should conform to that standard.
However, the library names do change. For instance, if you have upgraded Microsoft Word on your computer year after year, you may have several versions of the Microsoft COM libraries all registered at once. If your COM object is pointing to an older version, it won’t automatically upgrade when you install the new version. Worse, when you install your COM object on another computer that doesn’t have the old libraries, the calls to the object will fail.
For example, here is a COM object which is a “Ver. 1.0” library. “Ver.2.0” also happens to exist on this computer. zooming from the Type library, Magic xpa recognizes that these two libraries are for the same object, and allows us to choose the new one.
If we were running on a computer that did not contain the old library at all, Magic xpa would still show the old library name, and allow us to zoom and select the new replacement library.
Note that Magic xpa does not allow us to change the Object name, nor does it allow us to change the Type library to anything other than an upgraded version of this object. This protects you from inadvertently changing in object in ways that will cause all references to it to fail.
-
Go to the definition of the COM object in question (in the data section of the task, or in the Model repository).
-
On the property sheet (Alt+F1), go to the Type Library property.
-
Zoom (F5, or double click) to bring up a Type Library Selection box. You may see only one entry, or you may see more, depending on how many revisions exist for this object.
-
Press Enter to select the upgraded object.
Now, all calls to the object will use the upgraded library.