Freigeben über


Exemplarische Vorgehensweise: Hello World: Ein COM-Interop-Beispiel für intelligente Geräte

Aktualisiert: November 2007

Diese exemplarische Vorgehensweise veranschaulicht, wie ein einfaches COM-Objekt und eine verwaltete Anwendung in einer einzigen Projektmappe kombiniert werden.

Hinweis:

Ihr Computer zeigt möglicherweise für einige der Elemente der Visual Studio-Benutzeroberfläche in der folgenden Anleitung andere Namen oder Standorte an. Diese Elemente sind von der jeweiligen Visual Studio-Version und den verwendeten Einstellungen abhängig. Weitere Informationen finden Sie unter Visual Studio-Einstellungen.

Diese exemplarische Vorgehensweise wurde mithilfe von Visual C++-Entwicklungseinstellungen geschrieben.

Erstellen eines COM-Objekts

So erstellen Sie ein ATL-Projekt für intelligente Geräte

  1. Zeigen Sie im Menü Datei auf Neu, klicken Sie auf Projekt, erweitern Sie im BereichProjekttypen den Knoten Visual C++, und klicken Sie dann auf Intelligentes Gerät.

  2. Klicken Sie im Bereich Vorlagen auf ATL-Projekt für intelligente Geräte.

  3. Geben Sie im Feld Name die Zeichenfolge HelloCOMObject ein.

  4. Geben Sie im Feld Projektmappenname die Zeichenfolge InteropSolution ein.

  5. Klicken Sie auf OK, um den ATL-Projekt-Assistenten für intelligente Geräte zu starten.

  6. Klicken Sie auf Fertig stellen, um den Assistenten zu schließen.

    Für diese exemplarische Vorgehensweise müssen Sie keine Standardeinstellungen im Assistenten ändern.

So fügen Sie eine Klasse hinzu

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt HelloCOMObject, zeigen Sie auf Hinzufügen, und klicken Sie dann auf Klasse, um das Dialogfeld Klasse hinzufügen zu öffnen.

  2. Klicken Sie im Bereich Kategorien auf Intelligentes Gerät.

  3. Klicken Sie im Bereich Vorlagen auf Einfaches ATL-Objekt, und klicken Sie dann auf Hinzufügen, um den ATL-Assistenten für einfache Objekte zu öffnen.

  4. Geben Sie im Feld Kurzer Name die Zeichenfolge Hello ein.

  5. Klicken Sie im linken Bereich auf Optionen, um die Seite Optionen zu öffnen.

  6. Wählen Sie in der Gruppe Threadmodell den Eintrag Frei aus, und klicken Sie dann auf Fertig stellen.

So fügen Sie der Klasse eine Methode hinzu

  1. Öffnen Sie das Fenster Klassenansicht auf der Registerkarte auf dem Desktop oder über das Menü Ansicht.

  2. Erweitern Sie HelloCOMObject, um die IHello-Schnittstelle anzuzeigen.

  3. Klicken Sie mit der rechten Maustaste auf IHello, zeigen Sie auf Hinzufügen, und klicken Sie dann auf Methode hinzufügen, um den Assistenten zum Hinzufügen von Methoden zu öffnen.

  4. Geben Sie im Feld Methodenname die Zeichenfolge HelloWorld ein.

  5. Wählen Sie im Feld Parametertyp den Eintrag BSTR* aus.

  6. Geben Sie im Feld Parametername die Zeichenfolge text ein.

  7. Wählen Sie in der Gruppe Parameterattribute die Option out aus.

  8. Klicken Sie auf Hinzufügen.

    Im Methodenfeld wird [out] BSTR* text angezeigt.

  9. Klicken Sie auf Fertig stellen, um den Assistenten zum Hinzufügen von Methoden zu schließen.

    Die STDMETHOD(HelloWorld)(BSTR* text)-Methode wird in der Datei Hello.h angezeigt.

So fügen Sie der Methode eine Implementierung hinzu

  1. Doppelklicken Sie im Projektmappen-Explorer auf Hello.cpp, um diese Datei im Code-Editor zu öffnen.

  2. Fügen Sie im STDMETHODIMP-Abschnitt den folgenden Implementierungscode vor der return-Anweisung ein:

    *text = SysAllocString(L"Hello World!");
    
  3. Klicken Sie im Menü Erstellen auf HelloCOMObject erstellen.

    Jetzt ist ein COM-Objekt Bestandteil der Projektmappe, und der erste Teil der exemplarischen Vorgehensweise ist abgeschlossen.

Erstellen eines verwalteten Projekts

So fügen Sie der Projektmappe ein verwaltetes Projekt hinzu

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf InteropSolution, zeigen Sie auf Hinzufügen, und klicken Sie dann auf Neues Projekt.

  2. Erweitern Sie im Bereich Projekttypen den Eintrag Visual C#, klicken Sie auf Intelligentes Gerät, im Bereich Vorlagen auf Projekt für intelligente Geräte, geben Sie im Feld NameSayHello ein, und klicken Sie auf OK.

  3. Klicken Sie im Dialogfeld Neues Projekt für intelligente Geräte hinzufügen auf Geräteanwendung und dann auf OK.

    Das verwaltete Projekt SayHello wird innerhalb der Projektmappe erstellt, und im Designer-Fenster wird ein Windows Mobile 5.0 Pocket PC-Formular angezeigt.

Hinzufügen des COM-Objekts als Verweis im verwalteten Projekt

So fügen Sie das COM-Objekt als Verweis im verwalteten Projekt hinzu

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das SayHello-Projekt, und klicken Sie dann auf Verweis hinzufügen.

  2. Klicken Sie im Dialogfeld Verweis hinzufügen auf Durchsuchen.

    Der Ordner SayHello wird im Feld Suchen in angezeigt.

  3. Navigieren Sie zum übergeordneten Ordner (in dieser exemplarischen Vorgehensweise InteropSolution).

  4. Doppelklicken Sie im Fenster, das den Inhalt von Ordnern zeigt, auf HelloCOMObject, doppelklicken Sie auf Windows Mobile 5.0 Pocket PC SDK (ARMV4), doppelklicken Sie auf Debuggen, und klicken Sie dann auf HelloCOMObject.dll.

  5. Klicken Sie auf OK, um das Dialogfeld Verweis hinzufügen zu schließen.

    Hinweis:

    Sie müssen als Administrator angemeldet sein. In Windows Vista wählen Sie beim Start von Visual Studio Als Administrator ausführen.

  6. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Form1.cs, und klicken Sie dann auf Code anzeigen.

  7. Fügen Sie im Using directives-Bereich am Anfang der Datei folgenden Code hinzu:

    using HelloCOMObjectLib;
    

Hinzufügen von Ereignisbehandlungscode zum verwalteten Projekt

So fügen Sie dem verwalteten Projekt Ereignisbehandlungscode hinzu und erstellen das Projekt

  1. Öffnen Sie den Form1-Designer.

  2. Ziehen Sie von der Toolbox einen Button auf das Formular.

  3. Doppelklicken Sie auf diese Schaltfläche, um den Code-Editor beim Klickereignis zu öffnen.

  4. Fügen Sie den folgenden Ereignisbehandlungscode für die Schaltfläche ein:

    string text;
    HelloClass h = new HelloClass();
    h.HelloWorld(out text);
    MessageBox.Show(text);
    
  5. Klicken Sie im Menü Erstellen auf SayHello erstellen.

Vornehmen von abschließenden Anpassungen an der Projektmappe

So konfigurieren Sie die Projektmappe für die Bereitstellung

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt SayHello, und klicken Sie dann auf Als Startprojekt festlegen.

  2. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Projektmappe InteropSolution, und klicken Sie auf Projektabhängigkeiten.

  3. Wählen Sie im Dialogfeld Projektabhängigkeiten in der Dropdownliste Projekte das Projekt SayHello aus, und wählen Sie dann im Feld Abhängigkeiten den Eintrag HelloCOMObject aus.

  4. Klicken Sie auf OK.

    Die Projektmappe ist nun zur Bereitstellung bereit.

Bereitstellung der gemischten Projektmappe

So stellen Sie die Projektmappe bereit

  1. Klicken Sie im Menü Debuggen auf Starten ohne Debuggen.

  2. Klicken Sie im Dialogfeld Bereitstellen auf Windows Mobile 5.0 Pocket PC Emulator und anschließend auf Bereitstellen.

Speichern Sie diese Projektmappe zur Verwendung in Exemplarische Vorgehensweise: Debuggen einer Projektmappe, die sowohl verwalteten als auch systemeigenen Code enthält.

Siehe auch

Konzepte

COM-Interoperabilität für Geräte

Referenz

Visual Basic und Visual C# (Vorgehensweise für intelligente Geräte)