2009-07-02 14 views
0

Arbeiten mit einem VisStudio 2008-Add-In unter Verwendung von verwaltetem C++ (C++/CLR im Assistenten für neue Projekte).Ereignisse in verwaltetem C++: Problem mit Ereignissen, WindowEvents

In der OnConnection() - Funktion möchte ich einen Handler zur WindowEvents-Auflistung hinzufügen.

Wenn ich dies tun:
// Schalen Ereignisse
EnvDTE :: Veranstaltungen^Ereignisse = _applicationObject-> Veranstaltungen;
EnvDTE :: WindowEvents^winEvents = Ereignisse-> WindowEvents();

Ich erhalte eine Fehlermeldung:
Fehler C2660: 'EnvDTE :: Events :: Window :: get': Funktion nicht 0 Argumente nimmt

im Objekt-Browser ich diese finden:
öffentlichen EnvDTE .WindowEvents WindowEvents (EnvDTE.Window WindowFilter = null) {get; }

Dank für Hinweise darüber, was mache ich falsch ...

+0

Wenn ich den Anruf zu so etwas wie ändern winEvents = veranstaltungen-> Window (0); Ich bekomme immer noch den Fehler "Nimm keine 0 Argumente". Arggh. EnvDTE :: FindEvents^fe = Ereignisse-> FindEvents; funktioniert wie erwartet. – Number8

Antwort

1

die Antwort gefunden:

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

Beachten Sie die eckigen Klammern ...

1

Versuchen

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

ohne die(). WindowEvents ist eine Eigenschaft und keine Methode.

+0

Danke für die Antwort, aber der Compiler scheint sich nicht zu kümmern ... Selbes Ergebnis: '' get 'nimmt keine 0 Argumente ". – Number8

Verwandte Themen