Fehler: Cannot Call Navigate()
- VB.NET
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 18 Antworten in diesem Thema. Der letzte Beitrag () ist von VincentTB.
-
-
-
Hab es mir angeguckt aber das Problem hat es bis jetzt nicht gelöst.
EDIT://
Eine Tab-Site funktioniert will ich aber eine neue hinzufügen kommt der Fehler.
Mein Code für Das Hinzufügen eines neuen Tabs:
VB.NET-Quellcode
- Public Sub CreateNewTab(ByVal url As String, ByVal TabControl As TabControl)
- Dim NewTab As New TabPage
- Dim NewBrowser As New GeckoTabBrowser
- NewBrowser.Tag = NewTab
- NewTab.Tag = NewBrowser
- TabControl1.TabPages.Add(NewTab)
- NewTab.Controls.Add(NewBrowser)
- NewBrowser.Dock = DockStyle.Fill
- NewBrowser.Navigate(url)
- End Sub
Aufrufen:
Klasse für GeckoTabBrowser:
VB.NET-Quellcode
- Imports Skybound.Gecko
- Public Class GeckoTabBrowser
- Inherits Skybound.Gecko.GeckoWebBrowser
- Public Sub New()
- End Sub
- Private Sub GeckoTabBrowser_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Click
- End Sub
- Private Sub GeckoTabBrowser_DocumentCompleted(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.DocumentCompleted
- Dim TabPage As TabPage = Me.Tag
- TabPage.Text = DocumentTitle
- Form1.Cursor = Cursors.Default
- Form1.ComboBox1.Text = Me.Url.ToString
- End Sub
- Private Sub GeckoTabBrowser_HandleCreated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.HandleCreated
- Navigate("http://www.msdn.com") 'Wenn ich das weglasse kommt ebenfalls ein Fehler
- End Sub
- Private Sub GeckoTabBrowser_Navigating(ByVal sender As Object, ByVal e As Skybound.Gecko.GeckoNavigatingEventArgs) Handles Me.Navigating
- Form1.Cursor = Cursors.WaitCursor
- End Sub
- End Class
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „iEi“ ()
-
@iEi: Kann es sein, dass Du sdiese Funktion im Konstruktor vor
InitializeComponents()
aufrufst?
InitializeComponents()
muss der 1. Aufruf sein, da werden alle Contrrols instanziiert.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! -
-
iEi schrieb:
Ich rufe sie in einer eigenen Klasse auf.
Ich denke einfach, der Aufruf erfolgt zeitlich vor der Instanziierung der Fernster-Controls, also zu früh.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! -
Die Controls müssen zuerst initialisiert sein bevor du mit ihnen arbeitest. Lasse den neuen Tab oder was auch immer laden und anschließend kannst du sie verwenden. Du kannst kein Control verwenden solange es nicht existiert. Hat deine Basisklasse
GeckoWebBrowser
einen Basiskonstruktor. Wann genau rufst duCreateNewTab
? Tatsache ist, dass ein Control das davon abhängig ist noch nicht initialisiert ist. -
-
Dann poste mal den Code vom Aufruf selbst und die Prozedur, die aufgerufen wird.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! -
-
OK, Gecko-Engine.
Warum erstellst Du die Controls zur Laufzeit? Bei der Initialisierung fehlt noch was. Was, musst Du selbst rausktiegen, ich habe keinen Gecko.
Mach es mal (temporär) im Designer und probier, ob es da geht. Wenn ja, musst Du Dir die ProzedurInitializeComponents()
ansehen und von dort die Initialisierung abkupfern.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! -
Hat die Exception vll. eine Innerexption in welcher steht welches Control noch nicht initialisiert wurde? Ich bin leider alles andere als mit winforms vertraut. Und wenn das Programm gestartet ist, machst du da nicht automatisch schon den ersten Tab auf? Ist das wirklich der einzige Ort wo ein neuer Tab erstellt wird?
-
-
-
iEi schrieb:
before the window handle is created.
Du schreibst den Code, wir sehen ihn nicht.
Lass das den Designer machen.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! -
-
Zieh ihn Dir aus der Toolbox auf die Form.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! -
-
Oder schreibe in deine Haupform
Public Sub New
, drücke Enter und setzte einen Breakepoint zuInitializeComponent()
. Dann immer F10 drücken und aufpassen, was passiert. Dann siehst du, von wo aus die Prozedur aufgerufen wurde.
-
Tags
-
Ähnliche Themen
-
kevios12 - - Sonstige Problemstellungen
-
Matzee2011 - - Sonstige Problemstellungen
-
Mr. VB 2008 Man - - Sonstige Problemstellungen
-
5 Benutzer haben hier geschrieben
- Gast (8)
- RodFromGermany (6)
- thefiloe (3)
- VincentTB (1)
- One-Soft (1)