PDA

Visualizza la versione completa : delphi esecuzione di una applicazione


xlanottex
03-06-2009, 11:59
salve a tutti sono un po alle prime armi e forse per questo non riesco a trovare soluzione al mio problema e chiedo il vostro aiuto.
vorrei eseguire un eseguibile esterno alla mia applicazione che come output mi fornisce un error level che posso normalmente visualizzare all'interno di un file batch.
questo error level mi permette di controllare come funziona questa applicazione quindi risulta importante poter importare il risultato generato dall'errorlevel dell'applicazione nel mio applicativo.
qualcuno ha una idea di come potrei fare?

sebaldar
03-06-2009, 14:22
tu hai il sorgente di questa applicazione esterna ?
ciao

xlanottex
03-06-2009, 14:51
no non ho il sorgente ma posso vedere il valore di errorlevel da un comune batch la domanda e' posso importare questo valore di errolevel all'interno del mio codice?

grazie per l'interessamento


per adesso sto risolbendo facendo salvare il mio errorlevel dal batch all'interno di un log e poi leggo il log dal mio programma ma riconosco che non e' il massimo della funzionalita' :dhò:

grazie per l'aiuto ciao

sebaldar
03-06-2009, 15:19
:madai!?:

Prova a vedere se è possibile mettere i due processi in pipe e ricevere l'output dal primo come input del secondo.
E' l'unica cosa che mi viene in mente.
ciao

xlanottex
03-06-2009, 15:28
cioe? cosa intendi x pipe?


grazie

sebaldar
03-06-2009, 15:44
dovresti crearti un file batch dove inserisce i due eseguibili sulla stessa riga separate dal simbolo " | ", che è il simbole del pipe.
L'output del primo programma diventa l'input del secondo e lo acquisisci come leggere i dati da tastiera.
Però ho paura che su windows ti funzioni solo in questa maniera e quindi lo puoi usare solo se ti va bene così, cioè acquisire all'avvio del programma l'output del primo processo.

Esistono funzioni in C (popen, pclose) che possono essere utilizzate all'interno del programma per leggere l'output di un altro processo, ma non so se esistono anche su windows.
Se fosse potresti richiamarti queste funzioni da Delphi scrivendoti una unit di interfaccia (ne esiste una per Kylix che si chiama, mi pare, clib ).
di più io non so dirti
ciao

xlanottex
03-06-2009, 15:56
ok grazie provero anche come dici tu magari funziona in modo un po piu elegante del mio metodo

grazie 1000 dell'aiuto

Loading