QStat-Beispiel: Erstellt einen Wrapper ein COM-Objekt zum Anzeigen der Geschäftslogik

Das QStat-Beispiel veranschaulicht das Erstellen einer DLL, die Zugriff auf eine COM-Objekt umschließt und seine Funktionalität für .NET Framework-Clients mithilfe von C++ verfügbar macht.

SicherheitshinweisSicherheitshinweis

Dieser Beispielcode soll ein Konzept veranschaulichen, und es wird nur den Code, der für dieses Konzept relevant sind. Möglicherweise erfüllt dieser nicht die Sicherheitsanforderungen für eine bestimmte Umgebung, und er sollte nicht genau wie dargestellt verwendet werden. Wir empfehlen, Sicherheits- und Fehlerbehandlungscode hinzuzufügen, um Ihre Projekte sicherer und stabiler zu machen. Microsoft stellt diesen Beispielcode "Wie besehen"keine Garantien.

So erhalten Sie Beispiele und Anweisungen für deren Installation:

Um Beispiele von Visual Studio zuzugreifen

  • im Menü Hilfe Menü klicken Beispiele.

    Standardmäßig sind die Beispiele in installiert. Laufwerk: \Programme\Microsoft visual Studio 10.0\Samples\.

  • Die neueste Version dieses Beispiels und eine Liste der anderen Beispiele finden Sie unter Visual Studio Samples auf der MSDN-Website.

Erstellen und Ausführen des Beispiels

Zum Erstellen des Beispiels

  1. Laden Sie in der Visual Studio-IDE die Projektmappendatei QStat.sln.

  2. Projektmappen-Explorer mit der Maustaste Projektmappe QStat.

  3. Klicken Sie im Kontextmenü auf Projektmappe.

Zum Ausführen des Beispiels

  1. Klicken Sie im Projektmappen-Explorer mit der Maustaste auf das NetClient-Projekt.

  2. Debuggen Sie im Menü, klicken Sie auf Start.

Sobald die Clients gestartet haben, werden eine Reihe von Nachrichten an die Konsole, die Sie Aufrufe an die Geschäftslogik benachrichtigt gedruckt.

Hinweis

Zum Abrufen von Weitere Informationen über die Interaktion zwischen Komponenten, durch den Code Schritt, indem Sie entweder Haltepunkte oder im Menü Debuggen, Schritt in oder über den Beispielcode.

Projektbeschreibung

Der Schwerpunkt des Beispiels liegt auf den Zugriff auf die Geschäftslogik von COM- und .NET Framework-Clients und nicht auf die Implementierung der Geschäftslogik selbst, daher ist die Geschäftslogik relativ uninteressant. Tatsächlich führt die Geschäftslogik in diesem Fall einfacher Arithmetik (geometrischen, harmonischen und quadratischen Mittelwert Berechnungen), das Ergebnis an den Client zurückgegeben.

Es gilt ein Programmierstil Geschäftslogik von der Gerüstbau zu trennen, die die Geschäftslogik (in diesem Fall COM) verfügbar macht. In diesem Beispiel wird jedoch davon ausgegangen, dass die Geschäftslogik direkt in das COM-Objekt implementiert wurde, die verwendet werden und, dass kein Zugriff auf die zugrunde liegende Geschäftslogik mit Ausnahme, vorliegt indem über dieses COM-Objekt.

Das Beispiel erstellt eine Wrapper-DLL, die das COM-Objekt über #import verbraucht und verfügbar macht eine .NET Framework-Klasse, die von .NET Framework-Clients genutzt werden sollen. Dies erfolgt durch Definition einer systemeigenen C++-Klasse, nativeMeanCalc, enthält eine COM-intelligenten Zeiger Datenmember über #import. Eine .NET Framework-Klasse ist definiert, die einen Zeiger auf systemeigenen C++-Klasse enthält. .NET Framework-Klasse, netMeanCalc, enthält einen Zeiger auf ein Objekt nativeMeanCalc Zugangswegs zum Ziel COM-Objekt. netMeanCalc ist die öffentliche Klasse, die von .NET Framework-Clients genutzt werden.

Es gibt zwei Clientprojekte:

  • nativeClient ist ein com-Client und wird in systemeigenem C++ implementiert.

  • netClient wird mit die neue Syntax für C++ geschrieben.

Klassen und Schlüsselwörter

Dieses Beispiel demonstriert die Verwendung der folgenden Schlüsselwörter:

__gc; #using; #import; try; catch; _com_error; Console::WriteLine

Siehe auch

Weitere Ressourcen

Interoperabilität-Beispiele