.netvb.netcomvb6-migrationregasm

Property/Method Descriptions for COM Libraries


If you create a COMClass, I've noticed that the values in the XML Summary tag do not show in the object browser of VB6/VBA when you reference the resulting tlb file. Is there a way to have these values show up?


Solution

  • No, 12 years of IntelliSense evolution prevents this from working. The XML documentation comments generates an .xml file that IntelliSense can pick up.

    In VB6/A, documentation is present in the type library with the helpstring attribute. For example:

    [
      odl,
      uuid(2334D2B1-713E-11CF-8AE5-00AA00C00905),
      hidden,
      dual,
      nonextensible,
      oleautomation
    ]
    interface IVBDataObject : IDispatch {
        [id(0x00000001), helpstring("Clears all data and formats in a DataObject object."), helpcontext(0x00033693)]
        HRESULT Clear();
        // etc...
    };
    

    Getting the same from your [ComVisible] class library requires the [Description] attribute. Note this answer for a quirk about the way it works for properties.