Webbrowser Favoriten Problem

  • VB.NET
  • .NET (FX) 3.0–3.5

Es gibt 68 Antworten in diesem Thema. Der letzte Beitrag () ist von Mete1997.

    Webbrowser Favoriten Problem

    Hey Leute ,
    ich habe ein Tutorial gefunden stackoverflow.com/a/20579023.
    Nun wenn ich den Code in die Favoriten Class einfüge bekomme ich folgende Fehler:

    Error 4 Value of type 'String' cannot be converted to 'System.Uri'. Error 5 'browser' is not declared. It may be inaccessible due to its protection level.

    Wenn ich den jeweiligen Code in meine Form einfüge kommen folgende Fehler:

    Error 5 'add' is not a member of 'String'.

    Was bedeuten diese Fehler und wie behebe ich sie ?

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

    Ich habe den Code aus dem Link im ersten Post benutzt.

    Hier der Code:

    VB.NET-Quellcode

    1. public class favorite
    2. inherits toolstripsplitbutton
    3. public mytitle as string
    4. public myurl as string
    5. public myimg as image
    6. public mybrowser as webbrowser
    7. public sub new(title as string, url as string, browser as webbrowser)
    8. mybase.new()
    9. mytitle = title
    10. myurl = url
    11. 'create a getfavicon function - Google :)
    12. myimg = GetFavicon(myurl)
    13. mybrowser = browser
    14. me.text = mytitle
    15. me.tooltiptext = mytitle + " : " + myurl
    16. me.image = myimg
    17. end sub
    18. private sub Favorite_Click(sender as object, e as eventargs) handles me.click
    19. browser.navigate(myurl)
    20. end sub
    21. public sub AddFav() handles 'the add favorite button.click
    22. my.settings.favorites.add(webbrowser.documenttitle + "|" + webbrowser.url.tostring)
    23. my.settings.save()
    24. end sub
    25. public sub RefreshFavs()
    26. for each fav as string in my.settings.favorites
    27. dim favarray as array = fav.split(new char() {"|"c})
    28. dim x as new favorite(favarray(0), favarray(favarray.count - 1, webbrowser)
    29. mytoolstrip.items.add(x)
    30. next
    31. end sub

    Und jetzt nochmal den Code editieren, damit er lesbar wird (was steht nach dem handles bei AddFav()?).

    Und was ist

    VB.NET-Quellcode

    1. my.settings.favorites.add(webbrowser.documenttitle + "|" + webbrowser.url.tostring)


    Welche Zeilen werfen den Fehler?

    EDIT: In deinem Link waren mehrere Beiträge mit Code, woher sollen wir wissen, welchen du meinst?
    Okay den Link oben mit der Antwort hab ich korrigiert.
    Hier meine Fehler:
    myimg = Form1.FaviconAl(myurl) - Value of type 'String' cannot be converted to 'System.Uri'.
    public sub AddFav() handles '>>the add favorite button<<.click - Identifier expected.
    My.Settings.YerImleri.add(WebBrowser.DocumentTitle + "|" + WebBrowser.Url.tostring) - 'add' is not a member of 'String'.
    My.Settings.YerImleri.add(WebBrowser.DocumentTitle + "|" + WebBrowser.Url.tostring) - Reference to a non-shared member requires an object reference.

    Und noch 8 weitere Fehler.
    1. Form1 ist eine Klasse muss instanziert werden
    http://www.vb-paradise.de/index.php/Thread/88463-Instanziierung-von-Forms-und-Aufruf-von-Dialogen/
    2. String zu Uri kannst du mit new Uri(string) machen.
    3. Das Handle braucht ein Event z.B ein Button Click
    4. Deine Settingsvariable muss eine Stringcollection sein
    5. Webbrowser soll deine Webbrowservariable sein, mit der du surfst(wahrscheinlich myBrowser)

    Aber insgesamt glaube ich nicht, dass du den obigen Code verstehst, deshalb solltest du dringend die Grundlagen lernen.
    mfg

    Compffreak
    Okay den Fehler hab ich auch behoben , jetzt habe ich aber 2 neue Fehler.

    VB.NET-Quellcode

    1. Dim x As New YerImleri(favarray(0), favarray(favarray.count - 1, WebBrowser))


    Fehler 1 - 'count' is not a member of 'System.Array'.
    Fehler 2 - 'WebBrowser' is a type and cannot be used as an expression.
    Entweder der Typ hat Mumpitz geschrieben oder du hast es stark verändert:)
    Auf jeden Fall kommt bei Arrays kein Count sondern Length. Und zu 2. solltest du wieder dein Webbrowser nehmen.
    Poste am besten deinen ganzen Code dann kann ich dir besser helfen. ich vermute nämlich, dass es nicht klappen wird.

    mfg Compffreak
    Ich versuchs wenn es nicht klappt poste ich es habe nämlich über genau 500 Zeilen Code deshalb kann es etwas dauern.

    Edit:Es hat nicht geklappt hab einen Fehler + eine Warnung bekommen. Das ist der Code von oben aber angepasst an mein Projekt.

    VB.NET-Quellcode

    1. Public Sub AddFav() Handles Busayfayıyerimlerineekle.Click
    2. My.Settings.YerImleri.Add(CType(TarayıcıSekme.SelectedTab.Controls.Item(0), Skybound.Gecko.GeckoWebBrowser).DocumentTitle + "|" + CType(TarayıcıSekme.SelectedTab.Controls.Item(0), Skybound.Gecko.GeckoWebBrowser).Url.ToString)
    3. My.Settings.Save()
    4. End Sub
    5. Public Sub RefreshFavs()
    6. For Each fav As String In My.Settings.YerImleri
    7. Dim favarray As Array = fav.Split(New Char() {"|"c})
    8. Dim x As New YerImleri(favarray(0), favarray(favarray.Length - 1, CType(TarayıcıSekme.SelectedTab.Controls.Item(0), Skybound.Gecko.GeckoWebBrowser)))
    9. YerImler.Items.Add(x)
    10. Next
    11. End Sub


    Die Class YerImleri

    VB.NET-Quellcode

    1. Public Class YerImleri
    2. Inherits ToolStripSplitButton
    3. Public mytitle As String
    4. Public myurl As String
    5. Public myimg As Image
    6. Public mybrowser As WebBrowser
    7. Public Sub New(ByVal title As String, ByVal url As String, ByVal browser As WebBrowser)
    8. MyBase.new()
    9. mytitle = title
    10. myurl = url
    11. myimg = Form1.FaviconAl(New System.Uri(myurl))
    12. mybrowser = browser
    13. Me.text = mytitle
    14. Me.tooltiptext = mytitle + " : " + myurl
    15. Me.image = myimg
    16. End Sub
    17. Private Sub Favorite_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Me.click
    18. CType(Form1.TarayıcıSekme.SelectedTab.Controls.Item(0), Skybound.Gecko.GeckoWebBrowser).Navigate(myurl)
    19. End Sub
    20. End Class


    Die Warnung Value cannot be null. Parameter name: objectType 0 0
    Der Fehler

    VB.NET-Quellcode

    1. Dim x As New YerImleri(favarray(0), favarray(favarray.Length - 1, CType(TarayıcıSekme.SelectedTab.Controls.Item(0), Skybound.Gecko.GeckoWebBrowser)))
    - Argument not specified for parameter 'browser' of 'Public Sub New(title As String, url As String, browser As System.Windows.Forms.WebBrowser)'.



    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Mete1997“ ()

    Die Warnung kann ich grade nicht verstehen , aber es scheint als würdest du den GeckoWebBrowser nutzen. Der Code oben ist für den normalen Webbrowser. ich kenn mich zwar mit den Gecko nicht aus ,aber versuch die normalen Webbrowser durch den Geckowebbrowser auszutauschen.

    Übrigens sind deine Variablennamen extrem ungewöhnlicih (YerImleri?)

    mfg Compffreak
    Die Variabeln sind in einer anderen Sprache.Ich versuchs mit dem austauschen.

    Edit: Das austauschen hat geklappt.Hier meine letzte Fehlermeldung.

    VB.NET-Quellcode

    1. Dim x As New YerImleri(favarray(0), favarray(favarray.Length - 1, CType(TarayıcıSekme.SelectedTab.Controls.Item(0), Skybound.Gecko.GeckoWebBrowser)))
    Argument not specified for parameter 'browser' of 'Public Sub New(title As String, url As String, browser As System.Windows.Forms.WebBrowser)'. Das x wurde rot unterstrichen.


    Du hast die Browser immer noch nicht ganz ausgestauscht, ansonsten würde in der Fehlermeldung was anderes stehen.
    Außerdem musst du noch den Browser als Argument übergeben.

    Ps. Warum schreibst du dein Variablennamen in einer fremden Sprache? :)

    mfg
    Compffreak
    Typischer C&P-Fehler,

    Quellcode

    1. Skybound.Gecko.GeckoWebBrowser


    und du nutzt

    Quellcode

    1. browser As System.Windows.Forms.WebBrowser


    , ich glaube darauf müsstest du jetzt selber kommen.
    Software being "Done" is like lawn being "Mowed". (Jim Benson)
    Nun habe ich diesen Fehler
    Public Sub New(ByVal title As String, ByVal url As String, ByVal CType(Form1.TarayıcıSekme.SelectedTab.Controls.Item(0), Skybound.Gecko.GeckoWebBrowser) As WebBrowser)
    Beschreibung
    Error 5 Keyword is not valid as an identifier.
    CType wurde unterstrichen.

    Die Variabeln auf einer anderen Sprache vereinfachen mir das Code schreiben ungemein deshalb.
    Ich blicke da jetzt nicht ganz durch, erstens heisst dein TabControl Meya.TarayıcıSekme? Und du nutzt den GeckoWebbrowser als Browser, der GeckoBrowser und der Standard Browser aus der Toolbox sind zwei verschiedene Objekte/Controls.
    Software being "Done" is like lawn being "Mowed". (Jim Benson)