CEFSharp (Chromium Embedded Framework) в пользовательском контроле взаимодействия

Я пытаюсь использовать привязки CefSharp CLR для Chromium Embedded Framework, чтобы создать альтернативный элемент управления веб-браузера, который мы можем встроить в приложение, которое поддерживает только устаревшие элементы управления ActiveX (WonderWare InTouch HMI), пытаясь получить некоторую поддержку HTML5 для некоторых из них. старые машины.

Пока что яМы создали пользовательский элемент управления Interop, используяMicrosoft InteropForms Toolkit и встроил в элемент управления CefSharp.WinForms WebView довольно простым способом, т.е.

Private Sub WebControl_Load(sender As Object, e As EventArgs) Handles Me.Load

    Dim Settings = New CefSharp.Settings
    If (CEF.Initialize(Settings)) Then
        WebView = New WebView(homepage, New BrowserSettings())
        WebView.Dock = DockStyle.Fill
    End If

    Me.Controls.Add(WebView)

End Sub

Когда я собираю DLL, я регистрирую ее с помощью команды

regasm / tlb / codebase Cefsharp.WebControl.dll

Похоже, это работает по большей части, но у меня есть некоторые проблемы, которые я не до конца понимаю. Я тестирую его с помощью VBA Forms в Excel (исключительно для удобства), и когда я использую Form Builder, он фактически инициализирует элемент управления при его добавлении в пользовательскую форму и прекрасно загружает веб-страницу:

Однако, когда я пытаюсь показать UseForm, кажется, что он либо уничтожает дескриптор, либо экземпляр веб-просмотра (или оба), и я могу 'не могу понять, как это исправить. Однажды я пытаюсь показать форму и попробовать что-то вроде

Sub Test()
    WebForm.Show
    WebForm.WebControl.Navigate "www.google.com"
End Sub

Я получаю сообщение об ошибке, что объект нене существует. Я'Я немного запутался, и иногда я получаю разные ошибки, например, указатель недействителен, но покаЯ понял, как правильно его настроить. Я думаю, что это проблема с обработкой событий пользовательской формы, но я не уверен.

Если у кого-то есть понимание этого, яЯ очень ценю это. Спасибо!

Ответы на вопрос(1)

Ваш ответ на вопрос