Ejemplo TilePuzzle: muestra la interoperabilidad entre C# y C++

Actualización: noviembre 2007

El ejemplo TilePuzzle ilustra varias características importantes de Visual C++:

  • El ejemplo contiene componentes implementados con varias tecnologías nuevas: C++, C# y los nuevos atributos relacionados con COM.

  • En el ejemplo se muestra la interoperabilidad entre componentes administrados (escritos en C++ y C#) y los componentes nativos (escritos en C++ con atributos COM).

El ejemplo implementa un puzzle básico denominado Tile Puzzle. Carga un mapa de bits, lo divide en cierto número piezas (determinado por el usuario) y las desordena. A continuación, el usuario resuelve el puzzle desplazando cada pieza hasta que aparece la imagen original. Además de estas características, el ejemplo tiene la capacidad de resolver el puzzle utilizando algoritmos de búsqueda heurística escritos en C++ y las clases de .NET Framework.

Nota de seguridad:

Este código de ejemplo se proporciona para ilustrar un concepto y no debe utilizarse en aplicaciones o sitios Web, ya que quizás no ilustre las prácticas de codificación más seguras. Microsoft no asume ninguna responsabilidad por daños incidentales o consecuentes en caso de que el código de ejemplo se utilice para propósitos distintos de aquellos para los que se concibió.

Para obtener ejemplos e instrucciones para su instalación:

  • En el menú Ayuda de Visual Studio, haga clic en Ejemplos.

    Para obtener más información, vea Localizar archivos de ejemplo.

  • La lista de ejemplos completa con la versión más reciente está disponible en línea en la página Visual Studio 2008 Samples.

  • También encontrará ejemplos en el disco duro de su equipo. De manera predeterminada, los ejemplos y el archivo Léame se copian en una carpeta bajo \Archivos de programa\Visual Studio 9.0\Samples\. Para las versiones Express de Visual Studio, todos los ejemplos están en línea.

Generar y ejecutar el ejemplo

Para generar y ejecutar TilePuzzle en Visual Studio

  1. En el IDE de Visual Studio, cargue el archivo de solución PUZZLE.sln.

  2. En el Explorador de soluciones, haga clic con el botón secundario del mouse (ratón) en la solución PUZZLE.

  3. En el menú de acceso directo, haga clic en Generar solución.

  4. En el menú Depurar, haga clic en Iniciar.

Una vez que el proyecto se ha generado correctamente, intente resolver el puzzle.

Arquitectura del ejemplo

A continuación se muestra una arquitectura básica:

Gráfico de arquitectura de rompecabezas de baldosas

Nota:

Las características de guardado y carga del juego no están implementadas.

Para tener acceso al componente COM nativo desde los objetos administrados de .NET Framework, el ejemplo utiliza TLBIMP.EXE para generar una dll de proxy de .NET Framework.

Clases

En este ejemplo se muestra el uso de las clases siguientes:

  • System.Windows.Forms.Form: implementa el objeto AboutForm que se encuentra en el proyecto PUZZLE.

  • System.Object: implementa el objeto GameLevelEnum que se encuentra en el proyecto PUZZLE.

  • System.Delegate: implementa el objeto SolveThreadProcDlg que se encuentra en el proyecto PUZZLE.

Vea también

Referencia

String

Array

gcnew

Classes and Structs (Managed)

Assert

Int32

Otros recursos

Ejemplos de interoperabilidad