2010-01-28 13 views
7

Tengo un grupo de proyecto que contiene dos proyectos que comparten una carpeta de origen, pero hacen cosas diferentes. Lo que me parece extraño es el uso de 'grupo de proyecto', pero no quiero convertir esto en una pregunta subjetiva, por lo tanto, directamente pregunte:¿Cómo ejecuto todos los proyectos en un grupo de proyecto?

¿Cómo puedo ejecutar todos los proyectos en un grupo de proyectos? ¿Hay algún camino corto?

¡Gracias de antemano!

Respuesta

17

En realidad, todos ustedes están equivocados. Puede depurar múltiples programas al mismo tiempo.

No sé cuándo se implementó por primera vez, muy probablemente cuando los grupos de proyectos se agregaron a Delphi, pero estoy usando esto desde "forewer" y estoy seguro de que al menos Delphi 2005 era capaz de haciéndolo.

En resumen:

  • crear un grupo de proyecto con dos programas.
  • ¡Constrúyelos a todos! No podrá usar el compilador después de iniciar el depurador.
  • Active el primer programa (haga doble clic en su nombre en el Administrador de programas) y presione F9 (ejecutar).
  • Active el segundo programa en el Administrador de programas (no puede utilizar el menú desplegable junto al botón "Ejecutar" de la barra de herramientas para eso, ya que se desactivará en el paso anterior) y presione F9.

Voila! Tienes dos programas ejecutándose bajo el depurador. Puede establecer puntos de interrupción en cualquiera de ellos y funcionarán solo en el archivo.

Este enfoque funciona con cualquier cantidad de programas. (Puede haber algunas limitaciones codificadas pero nunca me he encontrado con ellas.)

+0

¡Dulce! No sabía que podíamos hacer esto. –

+0

Excelente hallazgo. – yozey

+0

+1 Gabr !! ¡Ese es genial! ¡Excelente! –

1

El grupo de proyectos es una herramienta para crear proyectos múltiples. Puede seleccionar crear todos desde aquí para compilarlos todos.

Puede ejecutar varios desde el depurador si uno es un programa y los otros son dlls que utiliza el programa.

No se pueden ejecutar/depurar varios programas al mismo tiempo.

Aunque puede utilizar un programa como una DLL pero no estoy seguro de si el IDE puede manejar ese uso. En ese caso, puede usar un procedimiento principal que es lo único que se llama desde el programa principal. Entonces deberías exportar este proceso principal. Cree un proyecto exe adicional que los llame a todos desde diferentes hilos. No he probado esto. Y es un truco, pero probablemente podría funcionar.

¿Pero por qué quieres ejecutar/depurar varias aplicaciones al mismo tiempo?

+0

Lamentablemente, no son dlls. :-( –

+0

En cuanto a por qué, normalmente hago esto mientras soluciono problemas de comunicación. De esta forma puedo rastrear el saludo de manos (por ejemplo) simultáneamente en el cliente y el servidor. – gabr

2

El depurador puede depurar solo una aplicación (en realidad: Proceso) en ese momento, y si ejecuta desde el IDE, está en el depurador.

Así que creo que la respuesta es: no se puede.

Bueno, supongo que a menos que cuente dlls que se inician en el mismo proceso, pero son proyectos individuales. (viendo la otra publicación), pero nunca lo intenté.

+0

SÍ una aplicación. Pero múltiples proyectos si uno es un programa y los otros son dll. Aunque a veces confunde al depurador ;-). –

+0

El depurador solo puede depurar un proceso, probablemente sería mejor. Esos otros archivos DLL se pueden iniciar en el mismo proceso y luego se pueden depurar. –

+0

Lamentablemente ninguno de los proyectos es un dll. Pero gracias por la ayuda! Es triste que no hay posibilidad de ejecutar sin depurador un grupo de proyecto completo. –

2

Sólo puede depuración un proyecto a la vez, pero se puede plazo como todas las que quieras desde el IDE sin depurar.

Shift +Ctrl +F9

actualización: mi error. Puede depurar varios proyectos al mismo tiempo. Excelente para depurar un cliente y un servidor al mismo tiempo.

+0

+1 para la parte Ctrl-Shift, no para la respuesta completa. – gabr

2

Para ejecutar todos los proyectos a la vez, agregue un nuevo archivo por lotes a su grupo de proyectos. Haga que el archivo por lotes ejecute cada programa, y ​​cuando desee ejecutarlos todos más adelante, simplemente elija el archivo por lotes en el grupo de proyectos y ejecútelo. Esto no es lo mismo que depurar todos los proyectos, simplemente ejecutarlos. Es simplemente una manera de automatizar el procedimiento dado en Bruce's answer.

0

Como nota al margen: Compruebe todos los proyectos dependientes (haga clic derecho en el proyecto -> Dependencias) para que se generen automáticamente antes de la depuración.

Cuestiones relacionadas