2010-01-28 13 views
7

Ho un gruppo di progetti contenente due progetti che condividono una cartella sorgente, ma fanno cose diverse. Quello che trovo strano è l'uso del "gruppo di progetto", ma non voglio trasformare questa domanda soggettiva, quindi direttamente vi chiedo:Come si eseguono tutti i progetti in un gruppo di progetti?

Come si eseguono tutti i progetti in un gruppo di progetto? C'è un modo breve?

Grazie in anticipo!

risposta

17

In realtà, tutti voi avete torto. Puoi eseguire il debug di più programmi contemporaneamente.

Non so quando è stato implementato per la prima volta, molto probabilmente quando i gruppi di progetto sono stati aggiunti a Delphi, ma sto usando questo da "prefisso" e sono sicuro che almeno Delphi 2005 era in grado di facendolo.

In breve:

  • Creare un gruppo di progetto con due programmi.
  • Costruisci tutti! Non sarai in grado di utilizzare il compilatore dopo aver avviato il debugger.
  • Attivare il primo programma (fare doppio clic sul relativo nome in Program Manager) e premere F9 (esecuzione).
  • Attivare il secondo programma nel Program Manager (non è possibile utilizzare il menu a discesa accanto al pulsante "Esegui" della barra degli strumenti per quello come verrà disabilitato nel passaggio precedente) e premere F9.

Voilà! Hai due programmi in esecuzione sotto il debugger. È possibile impostare i punti di interruzione in ognuno di essi e funzioneranno solo per file.

Questo approccio funziona con qualsiasi numero di programmi. (Potrebbero esserci alcune limitazioni codificate ma non le ho mai verificate.)

+0

Dolce! Non sapevo che potessimo fare questo. –

+0

Eccellente scoperta. – yozey

+0

+1 Gabr !! Quello è bello! Eccellente! –

1

Il gruppo di progetto è uno strumento per creare più progetti. Puoi selezionare build all da qui per crearli tutti.

È possibile eseguire diversi dal debugger se uno è un programma e gli altri sono DLL che vengono utilizzati dal programma.

Non è possibile eseguire/eseguire il debug di più programmi allo stesso tempo.

Sebbene sia possibile utilizzare un programma come DLL ma non sono sicuro che l'IDE possa gestirlo. In tal caso è possibile utilizzare una procedura principale che è l'unica cosa chiamata dal programma principale. Quindi dovresti esportare questo proc principale. Creare un progetto exe aggiuntivo che li chiama tutti da thread diversi. Non ho provato questo. Ed è un hack, ma potrebbe probabilmente funzionare.

Ma perché si desidera eseguire/eseguire il debug di più app nello stesso momento?

+0

Purtroppo, non sono dll. :-( –

+0

Per quanto riguarda il motivo: in genere eseguo questa operazione durante il debug dei problemi di comunicazione, in modo che sia possibile rintracciare l'handshake (ad esempio) simultaneamente su client e server. – gabr

2

Il debugger può eseguire il debug di una sola applicazione (in realtà: processo) al momento e se si esegue dall'IDE si trova nel debugger.

Quindi penso che la risposta sia: non puoi.

Bene, credo che a meno che non contiate le DLL che vengono avviate nello stesso processo, ma sono progetti individuali. (vedendo l'altro post), ma non l'ho mai provato.

+0

Sì, una sola app, ma più progetti se uno è un programma e gli altri sono dll. Anche se a volte confonde il debugger ;-). –

+0

Il debugger può eseguire il debug di un processo solo probabilmente sarebbe meglio. Quelle altre DLL possono essere avviate nello stesso processo e quindi possono essere sottoposte a debug. –

+0

Sfortunatamente nessuno dei progetti è una dll. Ma grazie per l'aiuto! È triste non c'è possibilità di eseguire senza debugger un intero gruppo di progetti. –

2

Si può solo eseguire il debug un progetto alla volta, ma è possibile run come molti come ti piace dall'IDE, senza debug.

Maiusc +Ctrl +F9

Aggiornamento: mi trovo corretto. Puoi eseguire il debug di più progetti contemporaneamente. Eccellente per il debug di un client e un server allo stesso tempo.

+0

+1 per la parte Ctrl-Shift, non per l'intera risposta. – gabr

2

Per eseguire tutti i progetti contemporaneamente, aggiungere un nuovo file batch al gruppo di progetto. Fai in modo che il file batch esegua ciascun programma e quando desideri eseguirli tutti in seguito, scegli semplicemente il file batch nel gruppo di progetto ed eseguilo. Questo non è lo stesso di debugging tutti i progetti, semplicemente eseguendoli. È semplicemente un modo per automatizzare la procedura indicata in Bruce's answer.

0

Come nota a margine: controllare tutti i progetti dipendenti (fare clic con il tasto destro del mouse su progetto -> Dipendenze) per farli compilare automaticamente prima del debug.

Problemi correlati