AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.01.2021, 12:09   #1  
Player1 is offline
Player1
Участник
Самостоятельные клиенты AX
 
306 / 137 (5) +++++
Регистрация: 21.04.2008
? Отключиться от ActiveX
Добрый день. Несколько вопросов по ActiveX контролам.
1. Как правильно отключиться от компоненты Microsoft Web Browser? При открытии формы данный контрол белого цвета, далее при работе с формой в нем отображаются превью файлов с использованием команды ActiveX.Navigate(имя файла). Пока использую ActiveX.Navigate(""), но это приводит к тому что в контроле отображает непрезентабельное "Не удается отобразить эту страницу"
2. Если компонента не установлена на терминале, то при компиляции формы или ее запуске получаем ошибку ActiveX - "Невозможно создать элемент управления....Проверьте, что элемент должным образом зарегистрирован". Хочу временно отключить этот контрол, но visible(false) в свойствах не помогает, она всё равно при открытии формы ругается, есть ли способ отключить не удаляя контрол из формы?
Старый 28.01.2021, 12:47   #2  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,941 / 3229 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от Player1 Посмотреть сообщение
Добрый день. Несколько вопросов по ActiveX контролам.
1. Как правильно отключиться от компоненты Microsoft Web Browser? При открытии формы данный контрол белого цвета, далее при работе с формой в нем отображаются превью файлов с использованием команды ActiveX.Navigate(имя файла). Пока использую ActiveX.Navigate(""), но это приводит к тому что в контроле отображает непрезентабельное "Не удается отобразить эту страницу"
2. Если компонента не установлена на терминале, то при компиляции формы или ее запуске получаем ошибку ActiveX - "Невозможно создать элемент управления....Проверьте, что элемент должным образом зарегистрирован". Хочу временно отключить этот контрол, но visible(false) в свойствах не помогает, она всё равно при открытии формы ругается, есть ли способ отключить не удаляя контрол из формы?
1. может быть попробовать скормить ActiveX.Navigate() какой-нить html пустышку

2. видел примеры кода когда из кода затирали свойство
\System Documentation\Classes\FormBuildActiveXControl\className
или
\System Documentation\Classes\FormActiveXControl\className
на init() формы - помогало в случаях когда нужного компонента нет.
Но вообще это плохой тон. Окружение для клиента / аоса аксапты должно быть одинаково. Если используете терминальные сервера то это легко обеспечить.
За это сообщение автора поблагодарили: Player1 (3).
Старый 28.01.2021, 13:03   #3  
Player1 is offline
Player1
Участник
Самостоятельные клиенты AX
 
306 / 137 (5) +++++
Регистрация: 21.04.2008
Цитата:
Сообщение от Logger Посмотреть сообщение
1. может быть попробовать скормить ActiveX.Navigate() какой-нить html пустышку

2. видел примеры кода когда из кода затирали свойство
\System Documentation\Classes\FormBuildActiveXControl\className
или
\System Documentation\Classes\FormActiveXControl\className
на init() формы - помогало в случаях когда нужного компонента нет.
Но вообще это плохой тон. Окружение для клиента / аоса аксапты должно быть одинаково. Если используете терминальные сервера то это легко обеспечить.
1. Да, годно. Для истории еще похожая тема была Когда ActiveX отпускает документ?
2. Всё понимаю, но чинят другие, а претензии от юзеров ко мне, это временно. Хмм, а как бы еще условие сделать, что если получится компоненту задействовать, то пусть работает, а если будет ошибка, то затираю className
Старый 28.01.2021, 13:13   #4  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,941 / 3229 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Ну какой нить WinApi функцию дернуть. Или через .net
Есть в винде инструменты, чтобы проверить по ClassName или ClassGUID зарегистрирован ли соответствующий ActiveX или нет.
Но мне не доводилось. Гуглите.
Старый 28.01.2021, 14:34   #5  
Player1 is offline
Player1
Участник
Самостоятельные клиенты AX
 
306 / 137 (5) +++++
Регистрация: 21.04.2008
На п.1 ответ нашёл в классе SysHelp:
X++:
ActiveX.Navigate(#InitPage)
- белый изначальный фон в контроле. НО! после этой команды файл оказывается всё еще используемым WinAPI::fileLocked(файл)
Старый 29.01.2021, 13:12   #6  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,941 / 3229 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от Player1 Посмотреть сообщение
На п.1 ответ нашёл в классе SysHelp:
X++:
ActiveX.Navigate(#InitPage)
- белый изначальный фон в контроле. НО! после этой команды файл оказывается всё еще используемым WinAPI::fileLocked(файл)
Если мне не изменяет память то там можно не ссылку на файл во временном каталоге передавать, а строку текста с html кодом. Поищите на эту тему.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Когда ActiveX отпускает документ? patron DAX: Программирование 8 26.12.2011 14:24
axaptacorner: Unable to create ActiveX Control. cmx phone Control Blog bot DAX Blogs 0 31.05.2011 16:11
dax-lessons: Problem when creating a dynamic form with ActiveX control & Solution :) Blog bot DAX Blogs 0 30.04.2008 16:05
Как убить ActiveX компонет на форме Аксапты? Горбунов Дмитрий DAX: Функционал 1 29.11.2004 18:07
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 23:27.