Reputation: 188
Recently we have an issue where we have to modify an ActiveX control which is developed long back. Problem is, we lost the source code, but we found another version of the same control with a different GUID.
The requirement is to keep the old GUID as other products are using the same control. So we want to replace the new control GUID with old one.
Is it possible? If so please let me know how can I change the GUID of the Active X control in VB6.
Upvotes: 3
Views: 1795
Reputation:
You don't manually put the interface & class GUIDs into your application, but in your project settings you need to enable "Binary Compatibility" pointing to a DLL that has the interface & class GUIDs that you want to have your project use.
From the Visual Basic 6.0 Project Documentation Component Tools Guide, "Providing a Reference Point for Binary Version Compatibility":
To specify a reference version of the component type library
Open the project.
From the Project menu, choose Project Properties to open the Project Properties dialog box, and select the Component tab.
Click Binary Compatibility to lock down the class IDs in the project.
Note As explained in "Project Compatibility: Avoiding MISSING References," the Project Compatibility setting actually has nothing to do with the Version Compatibility feature.- Update the box at the bottom of the Version Compatibility frame with the full path and name of the most recent version of your component.
Whenever you make a new executable from your component project, Visual Basic compares the new interfaces of your classes to the ones described in the file you have specified. Visual Basic updates the type library version number according to the level of compatibility between the interfaces.
For more information, be sure to read through all the sections in the "Version Compatibility in ActiveX Components" portion of the documentation.
Upvotes: 4