Показать сообщение отдельно
Старый 09.06.2012, 10:55   #17  
Elisy is offline
Elisy
Участник
Аватар для Elisy
1C
 
7 / 10 (1) +
Регистрация: 21.12.2010
Цитата:
Сообщение от kornix Посмотреть сообщение
Вчитался в текст анонсируемой статьи, наткнулся на пример использования Elisy .Net Bridge:
X++:
//Elisy .Net Bridge initialization
AttachAddIn("Elisy.NetBridge4");
AddIn = New("AddIn.ElisyNetBridge4");
net = AddIn.GetNet();

net.LoadAssemblyFrom("<pathto>\microsoft.dynamics.businessconnectornet.dll");
ax = net.New("Microsoft.Dynamics.BusinessConnectorNet.Axapta");
ax.Logon("", "", "", "");

o = ax.CallStaticClassMethod("SysLabel", "labelId2String2", "@SYS21669");

b = ax.Logoff();
1С поддерживает диспетчеризацию COM и может работать с *.dll зарегистрированныхми в системе, т.е. можно напрямую использовать .Net Business Connector.. Не понял, для чего Bridge?
Не совсем так. 1С может работать с классами .Net через COM с большими ограничениями. Класс должен быть помечен как ComVisible, есть ограничения, когда в параметрах методов передаются Enum-типы. Теоретически могут проблемы возникнуть с вызовом статических методов и обращением к статическим свойствам.
.Net Bridge позволяет избежать всех этих проблем и был написан именно для этого. Плюс дополнительно: возможность строгой типизации, подключение визуальных контролов, многопоточность, компиляция на лету исходного кода C#.