Основные моменты при создании приложений COM+:
1. Когда создаете приложение COM+, указывайте, что это серверное приложение;
2. Далее в мастере создания в окне "Удостоверение приложения" необходимо указать пользователя и пароль от имени которого стартует АОС;
3. Далее в мастере создания в окне "Добавление пользователей и ролей" также необходимо добавить пользователя от имени которого стартует АОС;
4. При создании конкретного компонента внутри приложения COM+ выбирайте библиотеку comcntr.dll из папки "Program Files (x86)".
Нижеприведенный код должен отрабатывать без проблем:
X++:
new InteropPermission(InteropKind::ComInterop).assert();
COMconnector = new COM(this.getCOMConnectorProg());
CodeAccessPermission::revertAssert();
где функция
getCOMConnectorProg() имеет вид:
X++:
private str getCOMConnectorProg()
{
str getCOMConnectorProg;
;
switch(Version)
{
case ::V80 :
getCOMConnectorProg = #V80_COMConnector;
break;
case ::V81 :
getCOMConnectorProg = #V81_COMConnector;
break;
case ::V82 :
getCOMConnectorProg = #V82_COMConnector;
break;
default :
throw error(strFmt("Для версии %1 не реализовано",Version));
}
return getCOMConnectorProg;
}
макросы:
X++:
#define.V80_COMConnector('V8.COMConnector')
#define.V81_COMConnector('V81.COMConnector')
#define.V82_COMConnector('V82.COMConnector')