Привет, я знаю, что здесь уже есть один и тот же вопрос, но я попробовал каждый из них и не могу понять, почему он не работает.
Вот мой код
Private Sub CallbackProcessAsync(sender As Object, args As System.Diagnostics.DataReceivedEventArgs)
Console.WriteLine(args.Data)
Me.Invoke(Sub() statusRichText.AppendText(args.Data & Environment.NewLine))
End Sub
Sub SuperUpload()
Dim oProcess As New Process()
AddHandler oProcess.ErrorDataReceived, AddressOf CallbackProcessAsync
AddHandler oProcess.OutputDataReceived, AddressOf CallbackProcessAsync
Dim oStartInfo As New ProcessStartInfo("C:\Users\RKjetski\AppData\Local\Programs\Python\Python37\python.exe", "test.py " + vInfoIframe.Text + " " + vInfoID.Text)
oStartInfo.UseShellExecute = False
oStartInfo.CreateNoWindow = True
oStartInfo.RedirectStandardError = True
oStartInfo.RedirectStandardOutput = True
oProcess.EnableRaisingEvents = True
oProcess.StartInfo = oStartInfo
oProcess.Start()
oProcess.BeginErrorReadLine()
oProcess.BeginOutputReadLine()
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnSuperUpload.Click
Dim thread = New System.Threading.Thread(AddressOf SuperUpload)
thread.Start()
End Sub
Файл python
import time
x = 0
while x < 5:
print(x)
time.sleep(2)
x = x +1
Я получаю следующий вывод, но он не в реальном времени / в режиме реального времени, поле расширенного текста пусто до тех пор, пока не прочитает программу, а затем распечатает все сразу,0 1 2 3 4