Search code examples
.netvb6interopcom-interop

Compile error when using WithEvents and a .NET object


I get a compile error "object does not source automation events" on this line in VB6:

Private WithEvents obj As MyClass

MyClass is a COM-visible .NET class.

What is the cause of this error?


Solution

  • It means that MyClass does not have any public events (accessible via COM Interop).

    If the .NET object was created in VB.Net, you can use the standard Event keyword as with VB6. C# will require the event keyword and an associated delegate. COM Interop will handle the conversion between .NET events and COM events.