2016-03-07 4 views
0

J'utilise GeckoFX 29,0 avec AutoJSContext et quand je lance mon application, il me donne l'erreur suivante:erreur xpcom lors de l'utilisation AutoJSContext avec GeckoFX 29,0 VB.NET

Xpcom.Initialize must be called before using of any xulrunner/gecko-fx services 

Je comprends que je dois initialiser XPCOM avant d'appeler AutoJS mais dans mon code XPCOM (xullrunner) est initialize avant que le sous le nom « GeckoFxError »

Sub New() 
     InitializeComponent() 

     Gecko.Xpcom.Initialize(Environment.CurrentDirectory + "/xulrunner") 
     Gecko.GeckoPreferences.Default("extensions.blocklist.enabled") = False 
     Timer1.Enabled = True 
    End Sub 
    Sub New1() 
     Dim _memoryService = Xpcom.GetService(Of nsIMemory)("@mozilla.org/xpcom/memory-service;1") 
     _memoryService.HeapMinimize(False) 
    End Sub 

    Private Sub GeckoFXerror(sender As Object, e As Gecko.JavascriptErrorEventArgs) Handles GeckoWebBrowser1.JavascriptError 
     Dim text As String = "window.alert = function(){};" 
     Dim text2 As String = "window.confirm = function(){};" 
     Dim text3 As String = "window.open = function(){};" 
     Dim text4 As String = "window.prompt = function(){};" 
     Using context As AutoJSContext = New AutoJSContext(GeckoWebBrowser1.Window.JSContext) 
      Dim result As String = "" 
      context.EvaluateScript(text, result) 
     End Using 
     Using context As AutoJSContext = New AutoJSContext(GeckoWebBrowser1.Window.JSContext) 
      Dim result As String = "" 
      context.EvaluateScript(text2, result) 
     End Using 
     Using context As AutoJSContext = New AutoJSContext(GeckoWebBrowser1.Window.JSContext) 
      Dim result As String = "" 
      context.EvaluateScript(text3, result) 
     End Using 
     Using context As AutoJSContext = New AutoJSContext(GeckoWebBrowser1.Window.JSContext) 
      Dim result As String = "" 
      context.EvaluateScript(text4, result) 
     End Using 
    End Sub 

Merci pour votre aide et je pense qu'il est facile à résoudre, mais je ne l'ai pas trouvé de solution dans plus d'un heure

Répondre

1

Mettez votre Gecko.Xpcom.Initialize(Environment.CurrentDirectory + "/xulrunner") avant d'appeler InitializeComponent() et cela devrait fonctionner.

+1

J'ai corrigé ce problème il y a longtemps mais merci aussi –