Не может вызвать элемент управления ActiveX изнутри .Сетчатый элемент управления WebBrowser
Я построил хороший элемент управления ActiveX с помощью .чистая 4.6.1. При использовании его в HTML-страницу inIE11 никаких проблем вообще.
Затем я использовал ту же страницу с помощью элемента управления WebBrowser, и появились проблемы с конфигурацией.
Я уверен, что элементы управления webbrowser сконфигурированы из IE, не так ли?
Пожалуйста, мне нужна помощь.
Спасибо.
Что я уже пробовал:
Я искал информацию msdn, и самые похожие вещи касаются "эстетических различий при рендеринге округлых прямоугольников и т. д."... Здесь проблема не в этом.
Graeme_Grant
Вы знаете, что встроенные объекты, такие как ActiveX, отключаются/удаляются большинством основных веб-браузеров?
Antonio Bejar
Я знаю, но все еще работаю над IE11, и, поверьте мне, есть много клиентов, которые не хотят слышать об использовании другого подхода.
Конечно, я не иду на activeX on Edge или другие, но, если он все еще работает для IE11, это обязательное решение. Вот мое отчаяние.
Dave Kreskowiak
Вы ведь знаете, что элементы управления ActiveX больше не поддерживаются в браузерах, не так ли?
Antonio Bejar
На самом деле я решал ее, когда понял, что при использовании такого элемента управления в приложении windows form, сделанном с .net 3.5, я понял, что это не так..... Помните о том волшебном синем, где не нужно знать о реализации и т. д.?
Ну, вот, этот клей, кажется, чувак, когда он сталкивается с различными выпусками .net.
Richard Deeming
Если только вы не изменил реестр[^], этот WebBrowser
управление будет застрять в режиме IE7.
Работает ли ваш элемент управления ActiveX в IE11, если вы используете инструменты разработчика F12 для переключения в режим IE7?
Antonio Bejar
Я не знал об эмуляции IE7 с помощью инструментов разработки. Тнх.
Да, он также работает в режиме IE7.
Когда в iE, никаких проблем. При использовании элемента управления webbrowser в проекте .net, загружая ту же html-страницу, Я получаю сообщение "объект не поддерживает это свойство или метод". Управление производится с помощью .net 4.6.1, а контейнер winform-.net 3.5
Richard Deeming
Вы установили ScriptErrorsSuppressed
собственность на true
? Этот пост в блоге[^] предполагает, что вы не сможете создать экземпляр элемента управления ActiveX, если не зададите этому свойству значение false
.
Antonio Bejar
Я поместил два элемента управления в одно окно для сравнения: form.webbrowser (с scripterrorsupressed=true) и AxSHDocVx.AxWebBrowser(Silent=true)
По-прежнему ни один из них не работает, просто сообщение "объект не поддерживает это свойство или метод"
Имеет ли это какое-то отношение к процессу регистрации???
Richard Deeming
Вот в чем дело - если вы установите ScriptErrorsSuppressed
собственность (или Silent
флаг) к true
, в блоге говорится, что элементы управления ActiveX не будут работать.
Попробуйте установить для этого свойства значение false
вместо.
Antonio Bejar
Ах. Инициалы обоих переключателей были ложными (я читал этот блог несколько дней назад). В своем предыдущем посте я изменил оба значения на true и снова сделал то же самое....
Richard Deeming
Вы проверили параметры групповой политики? Они могут быть настроены по-разному для Internet Explorer и других процессов.
Управление настройками браузера с помощью инструментов групповой политики[^]
Групповые политики в Internet Explorer 9[^]
Antonio Bejar
вау. Я проверю это, но мне нужно время, чтобы прочитать.
Кстати, может быть, я ошибаюсь, но похоже, что у перехода от .net к com есть некоторые хитрости, не так ли?
Если кто-то объявляет com-интерфейс, регистрируется (делая это с помощью regasm), то эта подпись должна быть видна от любого com-потребителя.... почему не здесь???
Я переиграю, когда буду читать ссылки, которые вы мне дали.
Antonio Bejar
кстати, элемент управления не подписан, но не думайте, что это дает другое поведение... или я ошибаюсь???