Update geht nicht ..

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von jvbsl.

    Update geht nicht ..

    Code :

    VB.NET-Quellcode

    1. Public Class Form2
    2. Public WithEvents client As New Net.WebClient
    3. Dim z1 As String
    4. Dim z2 As String
    5. Dim Fertig As Boolean = False
    6. Dim changelog As String
    7. Dim response As String
    8. Private Sub SoftwareUpdate_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    9. Label2.Text = "Aktuelle Version: " & Form1.versioninfo_check.Text
    10. End Sub
    11. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    12. BackgroundWorker1.RunWorkerAsync()
    13. End Sub
    14. Sub DownloadStateChanged(ByVal sender As System.Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles client.DownloadProgressChanged
    15. ProgressBar1.Value = e.ProgressPercentage
    16. Dim megabyte As Double = CDbl((e.BytesReceived / 1024) / 1024)
    17. Dim megabytemax As Double = CDbl((e.TotalBytesToReceive / 1024) / 1024)
    18. Fortschritt.Text = e.ProgressPercentage & "% heruntergeladen ( " & Math.Round(megabyte, 1) & " MB / " & Math.Round(megabytemax, 1) & " MB)"
    19. If e.ProgressPercentage >= 99 Then
    20. Fertig = True
    21. End If
    22. End Sub
    23. Private Sub DownloadFileCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.AsyncCompletedEventArgs) Handles client.DownloadFileCompleted
    24. Button1.Enabled = False
    25. If Fertig = True Then
    26. If MessageBox.Show("Möchten sie das heruntergeladene Update starten?" & vbNewLine & "Das Schließen des Spiels ist erforderlich.", "Frage", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = MsgBoxResult.Yes Then
    27. Process.Start(Form1.SaveFileDialog1.FileName)
    28. Application.Exit()
    29. Else
    30. MsgBox("Sie können das Update später manuell ausführen, sie können das Spiel nun weiter benutzen.", MsgBoxStyle.Information, "Information")
    31. Me.Close()
    32. End If
    33. End If
    34. End Sub
    35. Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
    36. If BackgroundWorker1.CancellationPending = True Then
    37. BackgroundWorker1.CancelAsync()
    38. End If
    39. If Button1.Text = "Auf Updates überprüfen" Then
    40. Button1.Enabled = False
    41. Status.Text = "Status: Es wird nach Updates gesucht..."
    42. ProgressBar1.Show()
    43. Try
    44. Dim client2 As New Net.WebClient
    45. Try
    46. response = client2.DownloadString("Hier steht meine URL")
    47. changelog = client2.DownloadString("Hier steht meine URL")
    48. z1 = Split(response, "|")(0)
    49. z2 = Split(response, "|")(1)
    50. Label3.Text = "Neuste Version: " & z1
    51. Dim lblt As Integer = Form1.versioninfo_check.Text
    52. If lblt < z1 Then
    53. ProgressBar1.Hide()
    54. Status.Text = "Status: Update verfügbar!"
    55. Label4.Show()
    56. Label4.Text = "Es ist ein neues Update verfügbar! (Version " & z1 & ")"
    57. Button1.Text = "Update herunterladen"
    58. Button1.Enabled = True
    59. RichTextBox1.Text = changelog
    60. Me.Size = New Size(545, 598)
    61. Me.Location = New Point(Me.Location.X, Me.Location.Y - 100)
    62. Else
    63. ProgressBar1.Hide()
    64. Status.Text = "Status: Kein Update verfügbar."
    65. Label4.Show()
    66. Label4.Text = "Es ist kein Update verfügbar, sie haben die neuste Version."
    67. Button1.Text = "Fertigstellen"
    68. Button1.Enabled = True
    69. PictureBox2.Show()
    70. End If
    71. Catch
    72. MsgBox(e.Cancel.ToString)
    73. MsgBox("Es ist ein Fehler aufgetreten, bitte versuchen sie es Später erneut.", MsgBoxStyle.Exclamation, "Fehler")
    74. Button1.Enabled = True
    75. Status.Text = "Status: Es konnte keine Verbindung zum Server aufgebaut werden"
    76. ProgressBar1.Hide()
    77. End Try
    78. Catch
    79. End Try
    80. ElseIf Button1.Text = "Fertigstellen" Then
    81. Me.Close()
    82. ElseIf Button1.Text = "Update herunterladen" Then
    83. Form1.SaveFileDialog1.Filter = "Cycrus-Game (*.exe)|*.exe"
    84. Form1.SaveFileDialog1.FileName = "Cycrus-Game-" & z1 & ""
    85. If Form1.SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
    86. ProgressBar1.Style = ProgressBarStyle.Blocks
    87. ProgressBar1.Show()
    88. Label4.Hide()
    89. Status.Text = "Status: Lade Update herunter..."
    90. Panel1.Visible = True
    91. Fortschritt.Show()
    92. Fortschritt.Text = "Restzeit wird berechnet..."
    93. Button1.Text = "Abbrechen"
    94. client.DownloadFileAsync(New Uri(z2), Form1.SaveFileDialog1.FileName)
    95. End If
    96. ElseIf Button1.Text = "Abbrechen" Then
    97. Try
    98. Fertig = False
    99. client.CancelAsync()
    100. client.CancelAsync()
    101. Panel1.Visible = False
    102. MsgBox("Der Updatevorgang wurde abgebrochen!", MsgBoxStyle.Exclamation, "Update Abbruch")
    103. Me.Close()
    104. Catch
    105. End Try
    106. End If
    107. End Sub
    108. End Class


    Er schreibt mir immer die Msgbox im ersten Try Catch block :

    MsgBox("Es ist ein Fehler aufgetreten, bitte versuchen sie es Später erneut.", MsgBoxStyle.Exclamation, "Fehler")

    Warum und wieso ist da nen Fehler ?
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen
    BEi mir kommt nur die Messagebox mit dem Text also in Zeile : 78 hatte dort den Code so abgeändert :


    Catch ex As Exception

    MessageBox.Show(ex.Message)


    und diese Messagebox sagt mir : der index war ausserhalb des array bereichs
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen