![]() |
#11 |
Участник
|
еще можно вести некий список созданных в C# объектов (можно использовать, например Scripting.Dictionary), который передавать в аксапту например, через Running Objects Table или сделать его Singleton'ом, запоминать там в SysGlobalCache
Перед тем как передавать объект в аксапту, запихивать в список на стороне C# после чего извлекать из списка на стороне Axapta и передавать в качестве параметра методу. то есть будет что-то типа Код: Dim Axapta As Object Dim MyObject As Object Set Axapta = CreateObject("AxaptaCOMConnector.Axapta") Dim myRegistry as new Registry Axapta.Logon ‘ create an Axapta object Dim secondObject as New MyClass Dim index as Int index=myRegistry.register(secondObject) Dim secondObjectWrapper as Object ' вызвать статический метод для получения обертки объекта аксапты передав ему index в реестре объектов secondObjectWrapper = Axapta.CallStaticMethon "Regiserty", index ‘ Передать обертку внктрь аксапты MyObject.Call "MyMethod", "parameter1", secondObjectWrapper |
|