Tutorial: Hello World: Ejemplo de interoperabilidad COM para Smart Devices
Actualización: noviembre 2007
En este tutorial se combinan en una solución un objeto COM simple y una aplicación administrada.
Nota: |
---|
Es posible que su equipo muestre nombres o ubicaciones diferentes para algunos de los elementos de la interfaz de usuario de Visual Studio incluidos en las instrucciones siguientes. La edición de Visual Studio que se tenga y la configuración que se utilice determinan estos elementos. Para obtener más información, vea Valores de configuración de Visual Studio. |
Este tutorial se ha escrito usando Configuración de desarrollo de Visual C++.
Crear un objeto COM
Para crear un proyecto ATL de Smart Device
En el menú Archivo, elija Nuevo, haga clic en Proyecto, expanda Visual C++ en el panel Tipos de proyecto y, a continuación, haga clic en Smart Device.
En el panel Plantillas, haga clic en Proyecto ATL de Smart Device.
En el cuadro Nombre, escriba HelloCOMObject.
En el cuadro Nombre de la solución, escriba InteropSolution.
Haga clic en Aceptar para iniciar el Asistente para proyectos ATL de Smart Device.
Haga clic en Finalizar para cerrar el asistente.
Para este tutorial, no es necesario cambiar la configuración predeterminada en el asistente.
Para agregar una clase
En el Explorador de soluciones, haga clic con el botón secundario del mouse en el proyecto HelloCOMObject, elija Agregar y, a continuación, haga clic en Clase para abrir el cuadro de diálogo Agregar clase.
En el panel Categorías, haga clic en Smart Device.
En el panel Plantillas, haga clic en Objeto simple ATL y, a continuación, haga clic en Agregar para abrir el Asistente para objetos simples ATL.
En el cuadro Nombre corto, escriba Hello.
En el panel izquierdo, haga clic en Opciones para abrir la página Opciones.
En el grupo Modelo de subprocesamiento, seleccione Libre y, a continuación, haga clic en Finalizar.
Para agregar un método a la clase
Abra la ventana Vista de clases desde la ficha del escritorio o desde el menú Ver.
Expanda HelloCOMObject para que se muestre la interfaz IHello.
Haga clic con el botón secundario del mouse en IHello, elija Agregar y, a continuación, haga clic en Agregar método para abrir el Asistente para agregar métodos.
En el cuadro Nombre de método, escriba HelloWorld.
En el cuadro Tipo de parámetro, seleccione BSTR*.
En el cuadro Nombre de parámetro, escriba text.
En el grupo Atributos del parámetro, seleccione out.
Haga clic en Agregar.
El cuadro de método muestra [out] BSTR* text.
Haga clic en Finalizar para cerrar el Asistente para agregar métodos.
El método STDMETHOD(HelloWorld)(BSTR* text) se muestra en el archivo Hello.h.
Para agregar implementación al método
En el Explorador de soluciones, haga doble clic en Hello.cpp para abrir ese archivo en el Editor de código.
En la sección STDMETHODIMP, inserte el código de implementación siguiente antes de la instrucción return:
*text = SysAllocString(L"Hello World!");
En el menú Generar, haga clic en Generar HelloCOMObject.
Un objeto COM formará parte ahora de la solución, con lo que finaliza la primera parte del tutorial.
Crear un proyecto administrado
Para agregar un proyecto administrado a la solución
En el Explorador de soluciones, haga clic con el botón secundario del mouse en InteropSolution, elija Agregar y, a continuación, haga clic en Nuevo proyecto.
En el panel Tipos de proyecto, expanda Visual C#, haga clic en Smart Device, haga clic en Proyecto de Smart Device en el panel Plantillas, escriba SayHello en el cuadro Nombre y, a continuación, haga clic en Aceptar.
En el cuadro de diálogo Agregar nuevo proyecto de Smart Device, haga clic en Aplicación de dispositivo y, a continuación, haga clic en Aceptar.
Se crea el proyecto administrado SayHello como parte de la solución y aparece un formulario de Windows Mobile 5.0 Pocket PC en la ventana del diseñador.
Agregar el objeto COM como referencia en el proyecto administrado
Para agregar el objeto COM como referencia en el proyecto administrado
En el Explorador de soluciones, haga clic con el botón secundario del mouse en el proyecto SayHello y seleccione Agregar referencia.
En el cuadro de diálogo Agregar referencia, haga clic en Examinar.
La carpeta SayHello se muestra en el cuadro Buscar en.
Navegue a la carpeta primaria (en este tutorial, InteropSolution).
En la ventana que muestra el contenido de la carpeta, haga doble clic en HelloCOMObject, haga doble clic en Windows Mobile 5.0 Pocket PC SDK (ARMV4), haga doble clic en Depurar y, a continuación, haga clic en HelloCOMObject.dll.
Haga clic en Aceptar para cerrar el cuadro de diálogo Agregar referencia.
Nota: Se debe iniciar sesión como administrador. En Windows Vista, seleccione Ejecutar como administrador al iniciar Visual Studio.
En el Explorador de soluciones, haga clic con el botón secundario del mouse en Form1.cs y, a continuación, en Ver código.
En la región Using directives situada en la parte superior del archivo, agregue el código siguiente:
using HelloCOMObjectLib;
Agregar control de eventos al proyecto administrado
Para agregar control de eventos al proyecto administrado y generarlo
Abra el diseñador de Form1.
Arrastre un control Button desde el Cuadro de herramientas hasta el formulario.
Haga doble clic en el botón para abrir el editor de código en el evento clic.
Inserte el código de control de eventos siguiente para el botón:
string text; HelloClass h = new HelloClass(); h.HelloWorld(out text); MessageBox.Show(text);
En el menú Generar, haga clic en Generar SayHello.
Realizar los últimos ajustes en la solución
Para configurar la solución para la implementación
En el Explorador de soluciones, haga clic con el botón secundario del mouse en el proyecto SayHello y, a continuación, en Establecer como proyecto de inicio.
En el Explorador de soluciones, haga clic con el botón secundario del mouse en la solución InteropSolution y, a continuación, haga clic en Dependencias del proyecto.
En el cuadro de diálogo Dependencias del proyecto, seleccione SayHello en la lista desplegable Proyectos y, a continuación, seleccione HelloCOMObject en el cuadro Depende de.
Haga clic en Aceptar.
La solución está lista para la implementación.
Implementar la solución combinada
Para implementar la solución
En el menú Depurar, haga clic en Iniciar sin depurar.
En el cuadro de diálogo Implementar, haga clic en Windows Mobile5.0 Pocket PC Emulator y, a continuación, en Implementar.
Guarde esta solución para utilizarla en Tutorial: Depurar una solución que incluye código administrado y código nativo.
Vea también
Conceptos
Interoperabilidad COM para dispositivos