Показать сообщение отдельно
Старый 23.05.2013, 19:03   #10  
konfet is offline
konfet
Снова балуюсь косаптой :)
 
143 / 50 (2) ++++
Регистрация: 23.04.2003
Адрес: Moscow
Да уже начал возится с ком-коннектором.
Вопрос к гуру.
С помощью ком-коннектора можно без проблем вызывать во втором приложении методы класса с простыми параметрами, типа str или int.

X++:
    COM       Axapta;
    COM       axaptaClass;
    COMVariant s;
    ;
 
    Axapta = new COM("AxaptaCOMConnector.Axapta3");
    Axapta.logon('');
    axaptaClass = Axapta.CreateObject("Class1");
    s = axaptaClass.call('Method1', '01'); 
    info (s.bStr());
Тут все замечательно работает.
А вот как передать в метод Method2 класса Class1 второго приложения переменную типа common или хотя бы контейнер? Или может быть object? Method2 у нас, скажем, такой:

X++:
str 10 method2(custtable _ct)
Когда пытаюсь вызвать

X++:
    COM       Axapta;
    COM       axaptaClass;
    COMVariant s;
    custTable ct;
    ;

    Axapta = new COM("AxaptaCOMConnector.Axapta3");
    Axapta.logon('');
    axaptaClass = Axapta.CreateObject("Class1");
    s = axaptaClass.call('method2', ct); 
    info (s.bStr());
- то начинает орать про недопустимый тип данных.
__________________
Бесты и регарды!