Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
.NET Framework
Lanciare un'applicazione console con Process.Start
sabato 21 marzo 2009 - 01.00
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
gudefran
Profilo
| Newbie
2
messaggi | Data Invio:
sab 21 mar 2009 - 01:00
Salve a tutti.
Sto realizzando una interfaccia grafica per il gioco dell'Othello. Sulla finestra principale ho posizionato un Button il quale, una volta cliccato, avvia un engine di gioco esterno (un programma console che effettua il calcolo della mossa). Avvio l'engine con le seguenti istruzioni:
Engine.StartInfo.UseShellExecute = False
Engine.StartInfo.CreateNoWindow = True
Engine.StartInfo.RedirectStandardOutput = True
Engine.StartInfo.RedirectStandardInput = True
Engine.StartInfo.FileName = Proc
Engine.EnableRaisingEvents = True
AddHandler Engine.OutputDataReceived, AddressOf Me.ReadDati ' intercetta il flusso dei dati
Engine.Start()
Scrivo = Engine.StandardInput ' invia i comandi all'engine
Scrivo.AutoFlush = True
Engine.BeginOutputReadLine() ' avvio la lettura asincrona dei dati
Premendo nuovamente il pulsante viene inviato il comando "quit" all'engine che si interrompe da se'. Comunque segue l'istruzione Engine.Close() per sicurezza. La Sub ReadDati invia le informazioni ricevute
in una TextBox.
Il tutto funziona perfettamente. Engine e' definito come New Process e Scrivo come StreamWriter all'inizio della classe Form1.
Il problema e' che posso avviare questo Engine solo una volta. Se lo interrompo e lo riavvio una seconda volta ,nella stessa sessione, il processo risulta avviato ma non viene intercettato alcun flusso dalla Sub ReadDati.Dove sbaglio?
gudefran
Profilo
| Newbie
2
messaggi | Data Invio:
dom 22 mar 2009 - 21:38
Ho risolto il problema. Nella Sub in cui avvio l'Engine e' necessario aggiungere la dichiarazione Engine = New Process, in aggiunta alla dichiarazione generale Dim Engine as New Process che si trova all'inizio della classe Form1.
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !