Java JAR ファイルを起動し、実行中に出力を取得するプログラムがあります。(PowerBot.org からの RSBot) すべて正常に動作しますが、ListView は "OutputDataReceived" イベントからテキストを追加していませんが、MessageBox.Show(); に表示できます。または Debug.WriteLine();
私の ListView はテーマ クラスに追加されましたが、変更されたものだけが所有者の描画ではありません。
Class GhostListView
Inherits ListView
Sub New()
Me.BackColor = Color.FromArgb(255, 21, 21, 21)
Me.BorderStyle = BorderStyle.FixedSingle
Me.ForeColor = Color.GhostWhite
Me.View = Windows.Forms.View.Details
Me.FullRowSelect = True
End Sub
End Class
そのため、以下が私の ListView に追加されるのを止めるような変更は何もありません
Shared Sub RSBotProc_Output(sender As Object, e As DataReceivedEventArgs) Handles RSBotProcess.OutputDataReceived
'Sub is shared because the Process is declared publicly as shared
'Public Shared WithEvents RSBotProcess as Process = Nothing
Functions.AddBotOutput(e)
Functions.Log("Output Svc", "Received Output from Bot: " & e.Data)
Debug.WriteLine("Recvd: " & e.Data)
End Sub
関数クラス (上記で使用)
Public Class Functions
Public Shared Sub Log(supplier As String, msg As String)
Dim s(2) As String
s(0) = DateTime.Now.ToString("HH:mm:ss-fff")
s(1) = supplier
s(2) = msg
frmLog.GhostListView1.Items.Add(New ListViewItem(s))
End Sub
Public Shared Sub AddBotOutput(Args As DataReceivedEventArgs)
Dim s(1) As String
s(0) = DateTime.Now.ToString("HH:mm:ss-fff")
s(1) = Args.Data
frmBotOutput.GhostListView1.Items.Add(New ListViewItem(s))
End Sub
End Class
デバッグでの出力
Recvd: [INFO] Optimising your experience
Recvd: [INFO] Starting bot
Recvd: [INFO] Loading game
Recvd: [INFO] Unpacking client (7dea8f)
Recvd: [INFO] Starting game
しかし、私の ListView は空白で、アイテム数は 0 です... ここで少し迷っています。問題が目の前にあると感じていますが、このバグを約 20 分間押しつぶそうとしてきました。私はおそらく問題をすくい取っているだけです...時々そうしているようですが、今回はRubber Ducky Debuggingでさえ役に立ちませんでした。また、必要に応じてプロジェクト全体をアップロードし、必要に応じて誰かに見てもらうこともできます。
編集
log/addtobot が Functions クラスから呼び出されていることを確認するために、関数に送信されたものを出力するデバッグを追加しました。
Functions#AddBotOutput() - Attempting to add '[INFO] Optimising your experience'
Functions#Log() - Attempting to log '[Output Svc] - Received Output from Bot: [INFO] Optimising your experience'
Recvd: [INFO] Optimising your experience
Functions#AddBotOutput() - Attempting to add '[INFO] Starting bot'
Functions#Log() - Attempting to log '[Output Svc] - Received Output from Bot: [INFO] Starting bot'
Recvd: [INFO] Starting bot
Functions#AddBotOutput() - Attempting to add '[INFO] Loading game'
Functions#Log() - Attempting to log '[Output Svc] - Received Output from Bot: [INFO] Loading game'
Recvd: [INFO] Loading game