INFO: This Interface Has Been Forwarded Error in Visual Basic with MTS

ID: Q222634

The information in this article applies to:


After adding a new method to a component in Visual Basic and selecting Refresh, the user receives the following error:

This interface has been forwarded.


When you create a new method a new interface ID is created. Visual Basic keeps the old and new interface IDs and forwards information to the old ID. This creates a chain of GUIDs. By design, Microsoft Transaction Server (MTS) does not like these chains of forwarding; therefore, it gives you the error message. The proper way to handle this is to delete the component through the interface and add it back, eliminating the chain and error message.

The steps below can be used to reproduce the problem:

  1. In Visual Basic 5.0, create an ActiveX project, and add the following code:
    Public Function Func1()<BR/>
    End Function<BR/> 

  2. Compile the project into a .dll file.

  3. Copy the .dll file to Myref.dll.

  4. In the Project Properties Component tab set the project to Binary Compatibility, referencing Myref.dll

  5. Using MMC, add a new package.

  6. Using MMC, add the new component created above. The interface for Func1 appears.

  7. Add a new function to the Visual Basic project as follows:
    Public Function Func1()
    End Function
    Public Function Func2()
    End Function 

  8. Recompile the ActiveX DLL.

  9. Close the Microsoft Transaction Server Explorer and reopen the Microsoft Transaction Server Explorer (MMC). Open the interface folder.

The following error appears:
Some object properties could not be read due to the following errors: This interface has been forwarded

Additional query words:

Keywords          : kbMTS200 kbWinDNA kbGrpSIE kbDSupport 
Version           : winnt:2.0,4.0
Platform          : winnt 
Issue type        : kbinfo 

Last Reviewed: June 14, 1999