DispSink-Beispiel: Verarbeitet Ereignisse, die von einem Singleton COM-Server über eine Dispatch-Schnittstelle ausgelöst werden
Aktualisiert: November 2007
Das DispSink-Beispiel demonstriert ein einzelnes Singleton-Serverobjekt (ein Objekt, das nur eine Instanz haben kann), das über eine eigene duale Schnittstelle und eine Dispatchschnittstelle zum Auslösen von Ereignissen verfügt.
Das Beispiel für DispSink-Attribute ist die attributierte Version dieses Beispiels.
![]() |
---|
Dieser Beispielcode dient dazu, ein Konzept zu veranschaulichen. Er sollte nicht für Anwendungen oder Websites verwendet werden, da dieser Code unter Umständen nicht die sicherste Codierungstechnik darstellt. Microsoft übernimmt keine Haftung für beiläufig entstandene Schäden oder Folgeschäden, falls der Beispielcode nicht bestimmungsgemäß verwendet wird. |
So rufen Sie Beispiele und Anweisungen für ihre Installation ab
Klicken Sie in Visual Studio im Menü Hilfe auf Beispiele.
Weitere Informationen finden Sie unter Suchen von Beispieldateien.
Die neueste Version und vollständige Liste mit Beispielen ist online unter Visual Studio 2008 Samples verfügbar.
Sie können auch Beispiele auf der Festplatte des Computers suchen. Standardmäßig werden Beispiele und eine Infodatei in einen Ordner unter \Programme\Visual Studio 9.0\Samples\ kopiert. Für Express Editions von Visual Studio sind alle Beispiele online verfügbar.
Erstellen und Ausführen des Beispiels
So erstellen Sie dieses Beispiel und führen es aus
Öffnen Sie die Projektmappendatei DispSink.sln.
Klicken Sie im Menü Erstellen auf Projektmappe erstellen.
Öffnen Sie zwei oder mehrere Instanzen des Testcontainers für ActiveX-Steuerelemente, und fügen Sie in jede Instanz das Clientsteuerelement DispCtl ein. Informationen zum Zugreifen auf den Testcontainer finden Sie unter Testen von Eigenschaften und Ereignissen mit dem Testcontainer.
Rufen Sie die Connect-Methode für alle Steuerelemente auf.
Rufen Sie die Send-Methode für eines der Steuerelemente auf. Ändern Sie den Wert im Feld Parametertyp des Dialogfelds Methoden aufrufen in VT_BSTR, und geben Sie im Feld Parameterwert eine beliebige Zeichenfolge ein. Klicken Sie auf die Schaltfläche Aufrufen. Die Zeichenfolge wird in der Mitte aller verbundenen Steuerelemente angezeigt.
Rufen Sie die Disconnect-Methode für alle Steuerelemente auf, bevor Sie sie löschen.
So funktioniert das Beispiel
Bei dem Server handelt es sich um ein einzelnes Objekt mit eigener dualer Schnittstelle sowie einer Dispatchschnittstelle zum Auslösen von Ereignissen. Das Serverobjekt erhält Daten von der Send-Methode seiner dualen Schnittstelle und übermittelt sie an alle verbundenen Komponenten über das Transfer-Ereignis seiner Dispatchschnittstelle.
Der Client ist ein ActiveX-Steuerelement, das ein Serverobjekt enthält. Das Steuerelement reagiert auf das vom Serverobjekt ausgelöste Transfer-Ereignis. Es verfügt über eine duale Schnittstelle mit der Connect-Methode, der Send-Methode und der Disconnect-Methode. Wenn das Transfer-Ereignis mit einer Varianten ausgelöst wird, die einen BSTR-Typ enthält, wird die Zeichenfolge in der Mitte des Steuerelements angezeigt.
Schlüsselwörter
In diesem Beispiel werden die folgenden Schlüsselwörter verwendet:
#import; CComAutoThreadModule; CComSimpleThreadAllocator; CoCreateInstance; DECLARE_CLASSFACTORY_AUTO_THREAD(); FireViewChange