вопрос про потоки
От: Undeniable  
Дата: 02.08.04 18:14
Оценка:
Здравствуйте!
Недавно начал работать с потоками и наткнулся на один глюк, подскажите если не прав:

Const FileName As String = "C:\proga.exe"
Private _Process As Process
Private _ProcessStartInfo As New ProcessStartInfo(FileName, "")

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
_ProcessStartInfo.UseShellExecute = False
_ProcessStartInfo.RedirectStandardInput = True
_ProcessStartInfo.RedirectStandardOutput = True
_Process = Process.Start(_ProcessStartInfo)
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim strTemp As String = ""
Application.DoEvents()
strTemp = _Process.StandardOutput.ReadToEnd()
MsgBox(strTemp)
End Sub

Дело в том, что эта proga.exe коннектится к серверу, и пишет в stdout то, что она получила от сервера, и пишет она в stdout каждый раз, когда получает что-то от этого сервера, и мне надо обрабатывать это...Причем сразу же ( или почти сразу же), как это появилось в StdOut'е. Как я понял, функции StandardOutput.Read* ,не найдя ничего в буфере, запускают цикл, выходя из него только тогда, когда в буфере что-то появится(или когда proga.exe убьется), при жтом вся моя программа зависает... Может, кто подскажет, как обойтись без цикла?
Заранее спасибо!
P.S. Извините за кривой русский
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.