GeckoFX Webbrowser Problemstellung

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 27 Antworten in diesem Thema. Der letzte Beitrag () ist von LuaX.

    GeckoFX Webbrowser Problemstellung

    Hi Leute.
    Habe mir mal den GeckoFX Webbrowser angeschaut und versucht nach diesem Tutorial nachzubauen:
    http://www.vb-paradise.de/index.php/Thread/97732-Firefox-Engine-GeckoFX-xulrunner-Version-29-in-VB-NET/?postID=936752

    J
    etzt habe ich aber einen Fehler erhalten, welcher exakt dem Fehler von anderen Usern unter diesem Thread ist.
    Beispiel: Firefox Engine (GeckoFX + xulrunner) Version 29(+) in VB.NET

    Da dort von niemanden auf den Thread eingegangen. Würde, frage ich jetzt hier, was ich bei diesem Problem unternehmen kann.

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

    @Developement Irgendwo beim Start des Programm muss die Gecko-Maschine initialisiert werden. Das hast Du aber sicher drinne.
    Probier mal AnyCPU, x86, x64 zu variieren.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Also, hab das jetzt mal gemacht, bekomme dann zwei Warnungen:

    Meist kann man Warnungen ja ignorieren, aber beim Debuggen kam direkt dass aufgrund des oberen Fehlers in der Liste im Bild ein Debuggen nicht möglich ist.Verwende übrigens wie aus der Fehlermeldung herausgeht Version 29 von XULRunner und von GeckoFX, da ich zu den neueren Versionen keinerlei Tutorials gefunden habe.Das hier ist übrigens die selbe Antwort wie beim anderen Thread, habe die leider verwechselt... :/
    Es gibt viele Tutorials für GeckoFX45, sind hal5 Englisch.

    Wolle du habe Anleitung für Version 46?
    こんにちわ
    Achte beim stellen von Fragen auf eine genaue Fragestellung, mir passiert das selbst häufig, andere können dir dann nicht so gut helfen.
    @Developement
    Ok, also wie folgt

    Lösche zuerst einmal alle verweise von GeckoFX.

    Dann öffnest du NuGet (Verweise -> NuGet Pakete verwalten)
    gehst auf Durchsuchen und gibst GeckoFX45 ein.
    Dann wählst du ' "Geckofx45" durch geckofx, mit 34.8K Downloads ' und klickst installieren.

    Das dauert dann eine weile, fallst ein Popup o.ä kommt musst du natürlich annehmen.
    Wenn das Fertig ist wurde ein verweis erstellt und ein Ordner "Firefox", dieser muss umbedingt in deinen "Debug" bzw. Ausgabeordner!!! (Wird normalerweise automatisch kopiert)

    Dann fügst du den Browser aus der Toolbox in deine WinForms Amwendung ein (wenn du WPF benutzt musst du das Control "Wrappen"),
    wenn er nicht in der Toolbox ist: Rechtsklick -> Elemente auswählen -> Durchsuchen -> [Projektverzeichniss]/packages/geckofx/......../geckofx.dll -> Hinzufügen.

    Danach schreibst du in den Konstruktor der Form über InitializeComponent() folgendes: Xpcom.Initialize("Firefox");

    Nun sollte es gehen (möglicherweise tauchen dennoch warnungen auf, diese können aber ignoriert werden).

    Testweise kannst du dann in die Load noch schreiben (browser).Navigate("https://www.vb-paradise.de"), um auf der Seite des Forum zu landen.

    Solltest du weitere Fragen oder Probleme mit/zu GeckoFX haben, schreib sie hier einfach in den Thread.
    Ich spreche im namen aller wenn ich sage: Wir helfen gerne!


    Grüße,
    Luca
    こんにちわ
    Achte beim stellen von Fragen auf eine genaue Fragestellung, mir passiert das selbst häufig, andere können dir dann nicht so gut helfen.
    @LuaX Hi, habe gerade selber mit einem anderen Tutorial mit GeckoFX 45 probiert, was mir allerdings nicht gelungen ist. Ich probiere gleich mal dein Tutorial und schreibe dann das Ergebnis. Schonmal vielen Dank.

    LuaX schrieb:

    Dann wählst du ' "Geckofx45" durch geckofx, mit 34.8K Downloads ' und klickst installieren.
    Das ist aber doch für C#? Benutze VB.NET

    EDIT: Schreibe jetzt hier weiter, weil ich anscheinend keine neue Antwort erstellen kann. Habe das Tutorial genauso wie beschrieben nachgemacht (der Ordner Firefox wurde nicht automatisch kopiert, habe ihn aber jetzt in das Debug-Verzeichnis verschoben). So richtig?



    Ich erhalte nun folgenden Fehler beim Start (habe auf x86 geswitched, weil das sonst anscheinend nicht kompatibel wäre):


    Was kann ich da tun?

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

    Hast du richtig verschoben :)
    @Developement
    Welche Dateien befinden sich denn im Ordner Firefox?
    Und könntest du vlt. Den Code den du verwendest ....mit Code Tags und spoiler.... hier im Forum einfügen?

    Morgen...äh nachher werde ich noch kurz selber ein Miniprojekt machen und guckem was der Fehler sein könnte (Ich habe ewig gebraucht das zu verstehen...alleine 4 Stunden für die wahl der Webengine :) )

    In diesem sinne..
    Gute Nacht :)
    こんにちわ
    Achte beim stellen von Fragen auf eine genaue Fragestellung, mir passiert das selbst häufig, andere können dir dann nicht so gut helfen.

    LuaX schrieb:

    Welche Dateien befinden sich denn im Ordner Firefox?


    LuaX schrieb:

    Und könntest du vlt. Den Code den du verwendest ....mit Code Tags und spoiler.... hier im Forum einfügen?
    Das hab ich im Load-Event eingebaut:

    VB.NET-Quellcode

    1. ​ InitializeComponent()
    2. Xpcom.Initialize("Firefox")
    3. GeckoWebBrowser1.Navigate("https://www.vb-paradise.de")


    LuaX schrieb:

    Morgen...äh nachher werde ich noch kurz selber ein Miniprojekt machen und guckem was der Fehler sein könnte
    Das ist nett, danke ;)
    @Developement
    Versuche mal [tt]Xpcom.Initialize("Firefox")[\tt] vor [tt]InitializeComponent()[\tt] bzw. In den Statischen konstruktor zu schreiben!

    Grüße
    こんにちわ
    Achte beim stellen von Fragen auf eine genaue Fragestellung, mir passiert das selbst häufig, andere können dir dann nicht so gut helfen.
    Ich mach dann mal das kleine Miniprojekt zum testen
    こんにちわ
    Achte beim stellen von Fragen auf eine genaue Fragestellung, mir passiert das selbst häufig, andere können dir dann nicht so gut helfen.

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

    Developement schrieb:

    Das hab ich im Load-Event eingebaut:
    Das ist der Konstruktor.
    Dort hat das Navigate absolut nix zu suchen, pack das frühestens in die Form_Shown, besser ist eine Button_Click.
    Die Tags in diesem Thread sind auch etwas zu vielfältig. ;)
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    RodFromGermany schrieb:

    Dort hat das Navigate absolut nix zu suchen, pack das frühestens in die Form_Shown, besser ist eine Button_Click.
    Hab's geändert, was natürlich nichts am noch bestehenden Fehler verändert (dessen bin ich mir bewusst).
    Da die Seite schnellstmöglich nach Start des Programms angezeigt werden soll, hab ich es nun hier:

    VB.NET-Quellcode

    1. Private Sub Home_Shown(sender As Object, e As EventArgs) Handles Me.Shown
    2. GeckoWebBrowser1.Navigate("https://www.vb-paradise.de")
    3. End Sub

    Den Rest habe ich nach wie vor im Load-Event:

    VB.NET-Quellcode

    1. Private Sub Home_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    2. InitializeComponent()
    3. Xpcom.Initialize("Firefox")
    4. End Sub

    RodFromGermany schrieb:

    Die Tags in diesem Thread sind auch etwas zu vielfältig.
    Geändert und auf die wichtigsten Tags beschränkt.


    @LuaX wäre nun bereit!

    Developement schrieb:

    VB.NET-Quellcode

    1. InitializeComponent()
    gehört in den Konstruktor:

    VB.NET-Quellcode

    1. Public Sub New()
    2. InitializeComponent()
    3. End Sub
    wo es der Designer hinpackt.
    InitializeComponent() erstellt die GUI, vorher hast Du keinen Zugriff auf Controls.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @Developement Dann lies mal den Fehlertext laut vor und verstehe, was Dir da gesagt wird.
    Da fehlt eine DLL.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!