FIX: IRepos::Get_Name() Returns Error if Called on a Property (169334)



The information in this article applies to:

  • Microsoft Visual Studio 97
  • Microsoft Visual Basic Learning Edition for Windows 5.0
  • Microsoft Visual Basic Professional Edition for Windows 5.0
  • Microsoft Visual Basic Enterprise Edition for Windows 5.0

This article was previously published under Q169334

SYMPTOMS

IReposProperty::get_Name() and IReposProperty::get_type() return an error:
"Property does not exist"
if you call them on a property of an inherited interface.

STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. This has been fixed with Visual Studio Service Pack 1.

For additional information about the Visual Studio 97 Service Pack 1, please see the following article in the Microsoft Knowledge Base:

170365 INFO: Visual Studio 97 Service Packs - What, Where, and Why

MORE INFORMATION

Steps to Reproduce:

  1. Create a TIM that has interface inheritance and properties on both interfaces. For example:

    Class1 implements interface IfaceDerived and IfaceDerived inherits from IfaceBase. IfaceDerived has property PropDerived and IfaceBase has PropBase.

  2. Get an object of type Class1.
  3. Query Interface for the IfaceDerived interface.
  4. Call get_Properties() on this interface and get the IReposProperties interface.
  5. Ask for the count of properties using get_Count() and it will return 2, because, through inheritance, IfaceDerived has two properties.
  6. Call get_Item(1) and get the first property. (This will be the property PropBase.)
  7. Call get_Name or get_Type on the property.
Expected:

It should return the name of the property.

Results:

Returns "Property does not exist."


Modification Type:MajorLast Reviewed:1/13/2001
Keywords:kbbug kberrmsg kbvbp500sp1fix kbvbp500sp2fix kbVS97sp1fix kbVS97sp2fix KB169334