![]() |
#1 |
Участник
|
![]()
Добрый день. Несколько вопросов по ActiveX контролам.
1. Как правильно отключиться от компоненты Microsoft Web Browser? При открытии формы данный контрол белого цвета, далее при работе с формой в нем отображаются превью файлов с использованием команды ActiveX.Navigate(имя файла). Пока использую ActiveX.Navigate(""), но это приводит к тому что в контроле отображает непрезентабельное "Не удается отобразить эту страницу" 2. Если компонента не установлена на терминале, то при компиляции формы или ее запуске получаем ошибку ActiveX - "Невозможно создать элемент управления....Проверьте, что элемент должным образом зарегистрирован". Хочу временно отключить этот контрол, но visible(false) в свойствах не помогает, она всё равно при открытии формы ругается, есть ли способ отключить не удаляя контрол из формы? |
|
![]() |
#2 |
Участник
|
Цитата:
Сообщение от Player1
![]() Добрый день. Несколько вопросов по ActiveX контролам.
1. Как правильно отключиться от компоненты Microsoft Web Browser? При открытии формы данный контрол белого цвета, далее при работе с формой в нем отображаются превью файлов с использованием команды ActiveX.Navigate(имя файла). Пока использую ActiveX.Navigate(""), но это приводит к тому что в контроле отображает непрезентабельное "Не удается отобразить эту страницу" 2. Если компонента не установлена на терминале, то при компиляции формы или ее запуске получаем ошибку ActiveX - "Невозможно создать элемент управления....Проверьте, что элемент должным образом зарегистрирован". Хочу временно отключить этот контрол, но visible(false) в свойствах не помогает, она всё равно при открытии формы ругается, есть ли способ отключить не удаляя контрол из формы? 2. видел примеры кода когда из кода затирали свойство \System Documentation\Classes\FormBuildActiveXControl\className или \System Documentation\Classes\FormActiveXControl\className на init() формы - помогало в случаях когда нужного компонента нет. Но вообще это плохой тон. Окружение для клиента / аоса аксапты должно быть одинаково. Если используете терминальные сервера то это легко обеспечить. |
|
|
За это сообщение автора поблагодарили: Player1 (3). |
![]() |
#3 |
Участник
|
Цитата:
Сообщение от Logger
![]() 1. может быть попробовать скормить ActiveX.Navigate() какой-нить html пустышку
2. видел примеры кода когда из кода затирали свойство \System Documentation\Classes\FormBuildActiveXControl\className или \System Documentation\Classes\FormActiveXControl\className на init() формы - помогало в случаях когда нужного компонента нет. Но вообще это плохой тон. Окружение для клиента / аоса аксапты должно быть одинаково. Если используете терминальные сервера то это легко обеспечить. 2. Всё понимаю, но чинят другие, а претензии от юзеров ко мне, это временно. Хмм, а как бы еще условие сделать, что если получится компоненту задействовать, то пусть работает, а если будет ошибка, то затираю className |
|
![]() |
#4 |
Участник
|
Ну какой нить WinApi функцию дернуть. Или через .net
Есть в винде инструменты, чтобы проверить по ClassName или ClassGUID зарегистрирован ли соответствующий ActiveX или нет. Но мне не доводилось. Гуглите. |
|
![]() |
#5 |
Участник
|
На п.1 ответ нашёл в классе SysHelp:
X++: ActiveX.Navigate(#InitPage) |
|
![]() |
#6 |
Участник
|
Если мне не изменяет память то там можно не ссылку на файл во временном каталоге передавать, а строку текста с html кодом. Поищите на эту тему.
|
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|