Инструменты пользователя

Инструменты сайта


axapta:activex

Раздел: Программирование>ВзаимодействиеСОкружением


toc

Введение

Для работы из внешних приложений через COM предназначен AxaptaBusinessConnector

Для работы из Axapta с COM есть две основных возможности: Класс/COM и ЭлементУправленияActiveX

Обрабатывать события можно только в последнем случае, т.е. только в форме

Для того, чтобы точнее понимать, какми образом вызвать методы компонентов, лучше воспользоваться OleView. И посмеотреть его интерфейс. Например component.method в VisualBasic может означать как вызов метода method так и получения значения свойства method и вызова его метода по умолчанию – IDL поможет различить эти два случая

Также можно автоматически сгенерировать обёртки для БиблиотекaТипов: Сервис\Средства Разработки\Мастера\Мастер оболочек для COM объектов

АвторегистрацияActiveX - можно заставить Axaptу устанавливать и регистрировать на клиенте ваши ActiveX при входе пользователя в систему

Нити

Если вы используете отдельную нить для работы с COM объектом, не забудьте вызвать OleInitialize:

OleInitialize(
{
    DLL         winApiDLL      = new DLL('OLE32');
    DLLFunction method  = new DLLFunction(winApiDLL, 'OleInitialize');
    ;
    method.returns(ExtTypes::DWord);
    method.arg(ExtTypes::DWord);
    method.call(0);
}

Особенности COM в 4.0

Судя по сообщению в ньюсгруппе microsoft, в Ax40 добавлена подсистема CodeAccessSecurity (CAS). По умолчанию вызовы COM объектов и работа с воодом-выводом будут запрещены. Для вызова COM надо попросить InteropPermission, и только потом, если разрешат можно работать с COM.

 COM com;
InteropPermission permission = new InteropPermission(InteropKind::ComInterop);
;
permission.assert();
com = new COM(namespace.classname);
com.SomeMethod();
CodeAccessPermission::revertAssert();

солянка

Как избавиться от контектсного меню во внедренном IE:

<BODY oncontextmenu="return false"> 

См. также

axapta/activex.txt · Последние изменения: 2018/04/13 22:43 (внешнее изменение)