Browser: OnNavigateComplete2 (Argumente)



  • Hallo,

    ich wollte gerade einem CppWebBrowser ein NavigateComplete2 Ereignis zuteilen, bekomm jedoch einen Fehler bei folgendem Code:

    Browser[Nr] = new TCppWebBrowser(Form1);
    Browser[Nr]->TOleControl::Parent = Form1;
    //...
    Browser[Nr]->OnNavigateComplete2 = BrowserNavAbgeschlossen;
    
    //-------------------------------------------
    void __fastcall TForm1::BrowserNavAbgeschlossen(TObject *Sender,
          LPDISPATCH pDisp, Variant *URL)
    {
       //Code
    }
    //-------------------------------------------
    

    Dann habe ich die Funktion noch in der *.h Datei unter Private deklariert:

    void __fastcall BrowserNavAbgeschlossen(TObject *Sender, LPDISPATCH pDisp, Variant *URL);
    

    Beim Ausführen jedoch markiert der Compiler die oben genannte Verknüpfung "->OnNavigateComplete2 = BrowserNavAbgeschlossen;"

    Und diese Fehlermeldung bekomme ich:

    [C++ Fehler] Internetbrowser.cpp(1695): E2034 Konvertierung von 'void (_fastcall * (_closure )(TObject *,IDispatch *,Variant *))(TObject *,IDispatch *,Variant *)' nach 'void (_fastcall * (_closure )(TObject *,IDispatch *,tagVARIANT *))(TObject *,IDispatch *,tagVARIANT *)' nicht möglich

    Leider komme ich jedoch nicht mit den Argumenten zurecht. Ich habe das ganze mal mit OnMouseMove ausprobiert und dort ging es ohne das man irgendwelche Argumente übergibt (Die haben ja auch welche).

    Vielen Dank für die Hilfe!



  • Hi,
    versuch doch mal, anstelle von einem (Variant *URL) einen (TVariant *URL) zu übergeben.



  • Funktioniert leider auch nicht. Das einzige was sich ändert ist, dass er jetzt eine TVariant *Url verlangt.


Anmelden zum Antworten