Der Wert vom Typ "WebResponse" kann nicht in "Integer" konvertiert werden.

  • VB.NET

Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von Thiemo1991.

    Der Wert vom Typ "WebResponse" kann nicht in "Integer" konvertiert werden.

    Hallo ihr lieben,

    ich habe vorhin bei meinem Projekt die Option "Option Stict" angeschaltet und bisher habe ich diese Fehler bis auf den Fehler "Der Wert vom Typ "WebResponse" kann nicht in "Integer" konvertiert werden." beheben können. Der Fehler kam nur an dieser Stelle vom Code

    VB.NET-Quellcode

    1. Dim response As System.Net.HttpWebResponse = request.GetResponse()
    von diesem kompletten Code Public Sub FavIcon()

    VB.NET-Quellcode

    1. Try
    2. Dim url As Uri = New Uri(cmbURL.Text)
    3. If url.HostNameType = UriHostNameType.Dns Then
    4. Dim iconURL = "http://" & url.Host & "/favicon.ico"
    5. Dim request As System.Net.WebRequest = System.Net.HttpWebRequest.Create(iconURL)
    6. Dim response As System.Net.HttpWebResponse = request.GetResponse()
    7. Dim stream As System.IO.Stream = response.GetResponseStream()
    8. Dim favicon = Image.FromStream(stream)
    9. Me.web_pic.Image = favicon
    10. End If
    11. Catch
    12. End Try
    ]. Könnt ihr mir bitte sagen, wie ich es lösen kann.

    MFG
    Wie man mich kontaktieren kann:
    thiemo-melhorn.de

    Thiemo1991 schrieb:

    "Der Wert vom Typ "WebResponse" kann nicht in "Integer"


    Diesen Fehler kann der gezeigte Code gar nicht produziert haben!(Zumindest dieser allein) Es wird doch nirgends versucht eine WebResponse in einen Integer rein zu prügeln.


    Cloud Computer? Nein Danke! Das ist nur ein weiterer Schritt zur totalen Überwachung.
    „Wer die Freiheit aufgibt, um Sicherheit zu gewinnen, wird am Ende beides verlieren.“
    Benjamin Franklin

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „NoIde“ ()

    Oh man. Ausgeschlossen das dieser Code diesen Fehler produziert. Zeig mir mal wo dort versucht wird eine WebResponse in einen Integer zu stopfen. In diesem Code ist soclh nicht drin, also behaupte nicht das Gegenteil. Zeigt mal einen Screenshot davon.
    Cloud Computer? Nein Danke! Das ist nur ein weiterer Schritt zur totalen Überwachung.
    „Wer die Freiheit aufgibt, um Sicherheit zu gewinnen, wird am Ende beides verlieren.“
    Benjamin Franklin
    @Thiemo1991 wie schon @NoIde gesagt hat. Du hast dich da vertan. Kann eher sein das er HttpWebResponse in WebResponse wandeln möchte.
    Weil du hier Kraut und Rüben vermischt.

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    @Nofear23m anders herum würds passen. Egal ob du WebRequest.Create, HttpWebRequest.Create oder FtpWebRequest.Create(vllt. gibt noch mehr davon?) callst, raus kommt immer ein WebRequest. Mit der [http/ftp...]WebResponse(WebRequest.GetResponse()) verhält es sich genau so. Also @Thiemo1991 wenn du nicht explizit ein HttpWebResponse brauchst, nur mit WebRequest und WebResponse hantieren. Dann brauchst du auch nicht konvertieren, casten etc...
    Cloud Computer? Nein Danke! Das ist nur ein weiterer Schritt zur totalen Überwachung.
    „Wer die Freiheit aufgibt, um Sicherheit zu gewinnen, wird am Ende beides verlieren.“
    Benjamin Franklin

    VB.NET-Quellcode

    1. #Region "Importieren"
    2. Imports System.Threading
    3. Imports Gecko
    4. #End Region
    5. Public Class tmBrowser
    6. #Region "Deklarationen/Funktionen"
    7. Dim WithEvents aktiverBrowser As GeckoWebBrowser
    8. Dim i As String
    9. Private WeiterGehts As Boolean = False
    10. Private ms As Integer
    11. Dim selectedTabIndex As Integer
    12. #End Region
    13. #Region "Überprüfen"
    14. Public Sub getAktiverBrowser()
    15. For Each wb As GeckoWebBrowser In tbc.SelectedTab.Controls
    16. aktiverBrowser = wb
    17. Exit Sub
    18. Next
    19. End Sub
    20. Public Sub Wartezeit(ByVal Sekunden As Integer)
    21. ms = Sekunden * 1000
    22. WeiterGehts = False
    23. Dim T As Thread = New Thread(AddressOf Warten)
    24. T.Start()
    25. Do
    26. Application.DoEvents()
    27. Loop Until WeiterGehts = True
    28. End Sub
    29. Private Sub Warten()
    30. Thread.Sleep(ms)
    31. WeiterGehts = True
    32. End Sub
    33. Function ÜberprüfeURL(ByVal URL As String) As String
    34. Dim fertig As String = URL
    35. If Not fertig.StartsWith("http://") Then
    36. fertig = "Http://" & URL
    37. End If
    38. Return fertig
    39. End Function
    40. #End Region
    41. #Region "Tabs"
    42. Private Sub addTab(ByVal name As String, ByVal url As String)
    43. Dim tab As TabPage = New TabPage(name)
    44. Dim wb As GeckoWebBrowser = New GeckoWebBrowser
    45. AddHandler wb.DocumentTitleChanged, AddressOf BrowserDocumentTitle_Changed
    46. AddHandler wb.ProgressChanged, AddressOf wb_ProgressChanged
    47. wb.Navigate(url)
    48. wb.Dock = DockStyle.Fill
    49. tab.Controls.Add(wb)
    50. tbc.TabPages.Add(tab)
    51. tbc.SelectTab(tab)
    52. End Sub
    53. Private Sub removeTab()
    54. Try
    55. Call getAktiverBrowser()
    56. selectedTabIndex = tbc.SelectedIndex
    57. tbc.TabPages.Remove(tbc.SelectedTab)
    58. If selectedTabIndex = tbc.TabCount Then
    59. tbc.SelectedIndex = selectedTabIndex
    60. Else
    61. tbc.SelectedIndex = selectedTabIndex - 1
    62. End If
    63. Call getAktiverBrowser()
    64. Catch ex As Exception
    65. Call addTab("Neuer Tab", "about:blank")
    66. cmbURL.Text = "about:blank"
    67. lblStatus.Text = ""
    68. End Try
    69. End Sub
    70. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles bntAddTab.Click
    71. Call LoadTabs()
    72. Call getAktiverBrowser()
    73. cmbURL.Text = "about:blank"
    74. End Sub
    75. Private Sub Button4_Click(sender As Object, e As EventArgs) Handles bntRemove.Click
    76. Call removeTab()
    77. End Sub
    78. Private Sub LoadTabs()
    79. Call getAktiverBrowser()
    80. addTab("Neuer Tab", "about:blank")
    81. End Sub
    82. Private Sub tbc_SelectedIndexChanged(sender As Object, e As EventArgs) Handles tbc.SelectedIndexChanged
    83. Try
    84. Call getAktiverBrowser()
    85. cmbURL.Text = aktiverBrowser.Url.OriginalString
    86. Catch
    87. End Try
    88. Call FavIcon()
    89. End Sub
    90. #End Region
    91. #Region "Laden/Speichern von Elementen"
    92. Private Sub SettingOpen()
    93. Application.DoEvents()
    94. Call LoadBookmarks()
    95. Call getAktiverBrowser()
    96. aktiverBrowser.Navigate(My.Settings.Startseite)
    97. cmbURL.Focus()
    98. Me.BackColor = My.Settings.Colors
    99. cmbURL.BackColor = My.Settings.Colors
    100. lblStatus.BackColor = My.Settings.Colors
    101. ListBox1.BackColor = My.Settings.Colors
    102. ctMenu.BackColor = My.Settings.Colors
    103. msMenu.BackColor = My.Settings.Colors
    104. cmbURL.Font = My.Settings.Fonts
    105. End Sub
    106. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    107. tbc.TabPages.Clear()
    108. addTab("Neuer Tab", "about:blank")
    109. Call getAktiverBrowser()
    110. Call SettingOpen()
    111. End Sub
    112. Private Sub SettingSave()
    113. My.Settings.Colors = Me.BackColor
    114. My.Settings.Colors = cmbURL.BackColor
    115. My.Settings.Colors = lblStatus.BackColor
    116. My.Settings.Colors = ListBox1.BackColor
    117. My.Settings.Colors = ctMenu.BackColor
    118. My.Settings.Colors = msMenu.BackColor
    119. My.Settings.Fonts = cmbURL.Font
    120. End Sub
    121. Private Sub Form1_FormClosing(sender As Object, e As EventArgs) Handles MyBase.FormClosing
    122. Call SettingSave()
    123. End Sub
    124. #End Region
    125. #Region "Controls"
    126. Private Sub RefreshState()
    127. If aktiverBrowser.CanGoBack Then
    128. bntBack.Enabled = True
    129. Else
    130. bntBack.Enabled = False
    131. End If
    132. If aktiverBrowser.CanGoForward Then
    133. bntForward.Enabled = True
    134. Else
    135. bntForward.Enabled = False
    136. End If
    137. End Sub
    138. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles bntBack.Click
    139. aktiverBrowser.GoBack()
    140. Call RefreshState()
    141. End Sub
    142. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles bntForward.Click
    143. aktiverBrowser.GoForward()
    144. Call RefreshState()
    145. End Sub
    146. Private Sub cmbURL_KeyUp(sender As Object, e As KeyEventArgs) Handles cmbURL.KeyUp
    147. If e.KeyCode = Keys.Enter Then
    148. aktiverBrowser.Navigate(cmbURL.Text)
    149. e.SuppressKeyPress = True
    150. Call Internet()
    151. End If
    152. End Sub
    153. Private Sub bntHome_Click(sender As Object, e As EventArgs) Handles bntHome.Click
    154. Call getAktiverBrowser()
    155. aktiverBrowser.Navigate(My.Settings.Startseite)
    156. End Sub
    157. #End Region
    158. #Region "Seite laden/Informationen anzeigen"
    159. Private Sub wb_ProgressChanged(sender As Object, e As GeckoProgressEventArgs)
    160. lblStatus.Text = "Laden von der Website " & cmbURL.Text
    161. Try
    162. pgbLoad.Maximum = CInt(e.MaximumProgress)
    163. pgbLoad.Value = CInt(e.CurrentProgress)
    164. Catch ex As Exception
    165. pgbLoad.Value = 0
    166. End Try
    167. End Sub
    168. Private Sub BrowserDocumentTitle_Changed(sender As Object, e As EventArgs)
    169. If Not aktiverBrowser.DocumentTitle = Nothing Then
    170. tbc.SelectedTab.Text = aktiverBrowser.DocumentTitle
    171. End If
    172. lblStatus.Text = "Fertig"
    173. Call getAktiverBrowser()
    174. cmbURL.Text = aktiverBrowser.Url.OriginalString.ToString
    175. Me.Text = "tmBrowser | " & aktiverBrowser.DocumentTitle & " | " & aktiverBrowser.Url.OriginalString.ToString
    176. Call FavIcon()
    177. End Sub
    178. #End Region
    179. #Region "Hauptmenü"
    180. Private Sub NeuerTabToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles NeuerTabToolStripMenuItem.Click
    181. Call LoadTabs()
    182. End Sub
    183. Private Sub TabSchließenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles TabSchließenToolStripMenuItem.Click
    184. Call removeTab()
    185. End Sub
    186. Private Sub NeuesFensterToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles NeuerTabToolStripMenuItem.Click
    187. Process.Start("tmBrowser.exe")
    188. End Sub
    189. Private Sub ÖffnenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ÖffnenToolStripMenuItem.Click
    190. If ofd.ShowDialog() = DialogResult.OK Then
    191. aktiverBrowser.Navigate(ofd.FileName)
    192. End If
    193. End Sub
    194. Private Sub SpeichernToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles SpeichernToolStripMenuItem.Click
    195. sfd.Filter = "*.html, *.htm|*.html,*.htm"
    196. sfd.FileName = Nothing
    197. If sfd.ShowDialog() = DialogResult.OK Then
    198. aktiverBrowser.SaveDocument(sfd.FileName)
    199. End If
    200. End Sub
    201. Private Sub DruckenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DruckenToolStripMenuItem.Click
    202. aktiverBrowser.Navigate("javascript:window.print()")
    203. End Sub
    204. Private Sub KopierenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles KopierenToolStripMenuItem.Click
    205. aktiverBrowser.CopySelection()
    206. End Sub
    207. Private Sub EinfügenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles EinfügenToolStripMenuItem.Click
    208. aktiverBrowser.Paste()
    209. End Sub
    210. Private Sub AusschneidenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AusschneidenToolStripMenuItem.Click
    211. aktiverBrowser.CutSelection()
    212. End Sub
    213. Private Sub FarbeToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles FarbeToolStripMenuItem.Click
    214. Call Fonts()
    215. End Sub
    216. Private Sub SchriftartÄnderrnToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles SchriftartÄnderrnToolStripMenuItem.Click
    217. Call Fonts()
    218. End Sub
    219. Private Sub StartseiteÄndernToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles StartseiteÄndernToolStripMenuItem.Click
    220. My.Settings.Startseite = cmbURL.Text
    221. My.Settings.Save()
    222. MsgBox(cmbURL.Text & " wurde als Startseite gespeichert.", MsgBoxStyle.Information, "Information")
    223. End Sub
    224. #End Region
    225. #Region "Farben/Schriftart"
    226. Private Sub Colors()
    227. If cd.ShowDialog = DialogResult.OK Then
    228. Me.BackColor = cd.Color
    229. cmbURL.BackColor = cd.Color
    230. lblStatus.BackColor = cd.Color
    231. ListBox1.BackColor = cd.Color
    232. ctMenu.BackColor = cd.Color
    233. msMenu.BackColor = cd.Color
    234. My.Settings.Save()
    235. End If
    236. If cd.Color = Color.Black Then
    237. cmbURL.ForeColor = Color.White
    238. lblStatus.ForeColor = Color.White
    239. ListBox1.BackColor = Color.White
    240. ctMenu.ForeColor = Color.White
    241. msMenu.ForeColor = Color.White
    242. My.Settings.Save()
    243. End If
    244. If cd.Color = Color.White Then
    245. cmbURL.ForeColor = Color.Black
    246. lblStatus.ForeColor = Color.Black
    247. ListBox1.BackColor = Color.Black
    248. ctMenu.ForeColor = Color.Black
    249. msMenu.ForeColor = Color.Black
    250. My.Settings.Save()
    251. End If
    252. End Sub
    253. Private Sub Fonts()
    254. fd.Font = cmbURL.Font
    255. If fd.ShowDialog = DialogResult.OK Then
    256. cmbURL.Font = fd.Font
    257. Else
    258. cmbURL.Font = New System.Drawing.Font("Microsoft Sans Serif", 8, FontStyle.Regular)
    259. End If
    260. End Sub
    261. #End Region
    262. #Region "Icons"
    263. Public Sub FavIcon()
    264. Try
    265. Dim url As Uri = New Uri(cmbURL.Text)
    266. If url.HostNameType = UriHostNameType.Dns Then
    267. Dim iconURL = "http://" & url.Host & "/favicon.ico"
    268. Dim request As System.Net.WebRequest = System.Net.HttpWebRequest.Create(iconURL)
    269. Dim response As System.Net.HttpWebResponse = request.GetResponse()
    270. Dim stream As System.IO.Stream = response.GetResponseStream()
    271. Dim favicon = Image.FromStream(stream)
    272. Me.web_pic.Image = favicon
    273. End If
    274. Catch
    275. End Try
    276. End Sub
    277. #End Region
    278. #Region "Internet überprüfen"
    279. Public Function Internet() As Boolean
    280. Debug.Print("Internet")
    281. On Error Resume Next
    282. If System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable = True Then
    283. Internet = True
    284. Else
    285. Internet = False
    286. End If
    287. On Error GoTo 0
    288. End Function
    289. #End Region
    290. #Region "Lesezeichen"
    291. Private Sub LoadBookmarks()
    292. For Each item In My.Settings.Bookmarks
    293. ListBox1.Items.Add(item)
    294. Next
    295. End Sub
    296. Private Sub RemoveBookmarks()
    297. My.Settings.Bookmarks.Remove(CType(ListBox1.SelectedItem, String))
    298. ListBox1.Items.Remove(ListBox1.SelectedItem)
    299. cmbURL.Items.Remove(ListBox1.SelectedItem)
    300. End Sub
    301. Private Sub bntAddBookmarks_Click(sender As Object, e As EventArgs) Handles bntAddBookmarks.Click
    302. My.Settings.Bookmarks.Add(aktiverBrowser.Url.ToString)
    303. cmbURL.Items.Add(aktiverBrowser.Url.ToString)
    304. ListBox1.Items.Add(aktiverBrowser.Url.ToString)
    305. End Sub
    306. Private Sub bntRemoveBookmarks_Click(sender As Object, e As EventArgs) Handles bntRemoveBookmarks.Click
    307. Call RemoveBookmarks()
    308. End Sub
    309. Private Sub ListBox1_MouseDoubleClick(sender As Object, e As MouseEventArgs) Handles ListBox1.MouseDoubleClick
    310. aktiverBrowser.Navigate(CType(ListBox1.SelectedItem, String))
    311. End Sub
    312. #End Region
    313. End Class
    Wie man mich kontaktieren kann:
    thiemo-melhorn.de
    Mach den langen Code doch bitte in einen Spoiler.

    Immer noch nichts zu sehen, was den gemeldeten Fehler produziert, Nofear23m hat vermutlich richtig spekuliert, ich gehe auch davon aus du die WebReponse zu einer HttpWebReponse casten willst. Ausserdem warum benutzt du nicht die Fehler-Korrektur der IDE? Die hätte das auch hinbiegen können, wäre dann zwar ein CType anstatt DirectCast genutzt worden, aber funktioniert hätte es.

    Ich denke das was ich sagte sollte eigendlich reichen. Wirst du wohl hinbekommen oder nicht?

    NoIde schrieb:

    Also @Thiemo1991 wenn du nicht explizit ein HttpWebResponse brauchst, nur mit WebRequest und WebResponse hantieren. Dann brauchst du auch nicht konvertieren, casten etc...


    Wenn du das nicht hinbekommst, dann nimm doch den einfachen WebClient und gut ists, da gibst hier genug Copy&Paste-Ready Beispiele.
    Cloud Computer? Nein Danke! Das ist nur ein weiterer Schritt zur totalen Überwachung.
    „Wer die Freiheit aufgibt, um Sicherheit zu gewinnen, wird am Ende beides verlieren.“
    Benjamin Franklin

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „NoIde“ ()

    NoIde schrieb:

    warum benutzt du nicht die Fehler-Korrektur der IDE?


    Ich würde gerne die Fehler in Visual Basic beheben, aber es gibt keine Fehler-Korrektur.

    NoIde schrieb:

    WebClient


    Wie soll das mit einem WebClient gehen?
    Wie man mich kontaktieren kann:
    thiemo-melhorn.de
    Also eigendlich solltest du wissen was eine IDE ist, schliesslich benutzt du diese zum schreiben von Code, hier Visual Studio. Im Anhang zu sehen was ich mit Fehlerkorrektur meine. Wobei nicht immer alle Vorschläge sinnvoll sind, wie auch auf dem Bild zu sehen ist.

    Wegen des WebClienten schau hier im Forum danach, gibt hier einige Threads dazu. Hau das mal bei google rein und du bekommst 800+ Treffer hier im Forum. site:vb-paradise.de webclient download

    Aber warum nicht die HttpWebRequest mit WebRequest ersetzen wie auch bei HttpWebResponse? In deinem Code wären es doch nur 2 Wörter? Das kann doch nicht zu schwer sein. ;(
    Bilder
    • Unbenannt.png

      16,46 kB, 539×269, 99 mal angesehen
    Cloud Computer? Nein Danke! Das ist nur ein weiterer Schritt zur totalen Überwachung.
    „Wer die Freiheit aufgibt, um Sicherheit zu gewinnen, wird am Ende beides verlieren.“
    Benjamin Franklin

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „NoIde“ ()

    NoIde schrieb:

    Also eigendlich solltest du wissen was eine IDE ist, schliesslich benutzt du diese zum schreiben von Code, hier Visual Studio


    Das weis ich doch, dass Visual Basic auch als IDE benannt wird.

    NoIde schrieb:

    Aber warum nicht die HttpWebRequest mit WebRequest ersetzen wie auch bei HttpWebResponse?


    Würde das etwas bringen bzw. über funktionieren?
    Wie man mich kontaktieren kann:
    thiemo-melhorn.de

    Thiemo1991 schrieb:

    Das weis ich doch, dass Visual Basic auch als IDE benannt wird.

    Nein, Visual Studio ist eine IDE, Android Studio, Code Blocks, Atmel Studio auch, aber VB oder auch VB.Net nicht, das sind Programmiersprachen.


    Du bist doch für learning by doing, warum nicht mal machen und schauen was passiert?
    Cloud Computer? Nein Danke! Das ist nur ein weiterer Schritt zur totalen Überwachung.
    „Wer die Freiheit aufgibt, um Sicherheit zu gewinnen, wird am Ende beides verlieren.“
    Benjamin Franklin
    Na also, ich schreibe das ja nicht aus Jux und Tollerei. Beachte meinen Edit im letzten Post, hatte da noch etwas bezüglich VB und IDE geschrieben.
    Cloud Computer? Nein Danke! Das ist nur ein weiterer Schritt zur totalen Überwachung.
    „Wer die Freiheit aufgibt, um Sicherheit zu gewinnen, wird am Ende beides verlieren.“
    Benjamin Franklin

    NoIde schrieb:

    Visual Studio ist eine IDE, Android Studio, Code Blocks, Atmel Studio auch


    NoIde schrieb:

    aber VB oder auch VB.Net nicht, das sind Programmiersprachen


    Das weis ich. Ich habe mich nur falsch ausgedrückt.
    Wie man mich kontaktieren kann:
    thiemo-melhorn.de