È possibile (e in tal caso, come faccio) far funzionare un singolo programma sia come applicazione console sia come versione GUI utilizzando Delphi 2007?Programma sia come console che come interfaccia utente
Quello che sto cercando è che se il programma viene eseguito con le opzioni della riga di comando appropriate, dovrebbe funzionare come un programma di console, stampando l'output sulla console usando WRITELN, ma se non viene fornito alcun argomento da riga di comando, deve essere eseguito come una normale applicazione GUI Delphi?
Il problema è che quando si esegue come applicazione console, l'interprete della riga di comando attende che l'applicazione termini prima di consentire l'immissione di un nuovo comando, mentre un'applicazione GUI avviata dalla riga di comando riporta immediatamente alla riga di comando e l'applicazione GUI viene avviata in un processo separato. Voglio mantenere questo comportamento.
Non mi importa qualcosa di simile:
SE POI GUI StartApplicationAsGUI (ParamStr (0))
es. Non mi dispiace che dovrò riavviare l'applicazione utilizzando una qualche forma di chiamata EXECUTE per avviarla in modalità GUI, se necessario, purché l'interfaccia della riga di comando ritorni all'ingresso della riga di comando quando viene avviata la versione della GUI.
Preferirei una soluzione/proposta che è lungo le linee di:
< Parse Comnand Linea >
SE POI ConsoleMode
RunConsole (Parametri)
ELSE BEGIN
Application.Initialize;
Application.CreateForm (...)
Application.Run;
FINE
(o viceversa, vale a dire. Fare le cose un modo particolare se la modalità GUI)
in modo che posso ancora usare IDE e VCL di Delphi quando si effettua l'interfaccia GUI ...
La risposta breve (da questo link) è che: "Non è possibile, ma puoi provare a simularlo. " – Mick