tags:

views:

370

answers:

2

Hello,

Working on a VisStudio 2008 addin, using managed C++ (C++/CLR in the New Project wizard).

In the OnConnection() function, I want to add a handler to the WindowEvents collection.

When I do this:
// Hook up events
EnvDTE::Events ^ events = _applicationObject->Events;
EnvDTE::WindowEvents ^winEvents = events->WindowEvents();

I get an error message:
error C2660: 'EnvDTE::Events::WindowEvents::get' : function does not take 0 arguments

In the Object Browser I find this:
public EnvDTE.WindowEvents WindowEvents(EnvDTE.Window WindowFilter = null) { get; }

Thanks for any hints about what I'm doing wrong...

A: 

Try

EnvDTE::WindowEvents ^winEvents = events->WindowEvents;

without the (). WindowEvents is a property not a method.

CodeFusionMobile
Thanks for the reply, but the compiler seems to not care... Same result: "'get' does not take 0 arguments".
Number8
A: 

Found the answer:

EnvDTE::Events ^ events = _applicationObject->Events;
_winEvents = events->WindowEvents[nullptr];

Note the square brackets...

Number8