02.06.2005, 12:03 | #1 |
Участник
|
AxaptaCOMConnector
Доброго времени суток.
Решил попробовать взаимодействие с Аксаптой через AxaptaCOMConnector. Зарегистрировал COM+ компонент, написал следующий код вызова: Код: axapta.Logon( AxComConnTest.user, AxComConnTest.serverManager, AxComConnTest.objectServer, AxComConnTest.configuration); axapta.Refresh(); int i; AxaptaCOMConnector.IAxaptaObject axaptaObj; AxaptaCOMConnector.IAxaptaContainer cont; axaptaObj = axapta.CreateObject("AxComConnTest", null, null, null, null, null, null); cont = (IAxaptaContainer)axaptaObj.Call("getStockQtyCont", "Бумага", null, null, null, null, null); for(i=0; i< cont.Length(); i++) Console.WriteLine(" {0}: {1}", i+1, cont.Peek(i+1)); axapta.Logoff(); Столкнулся со следующей проблемой. Первый запуск проходит нормально, данные возвращаются. При повторном запуске возвращаются нули. Если сделать shut down COM+ компоненты, то все повторяется, первый запуск срабатывает, последующие - нет. В лог событий попадает следующее сообщение: "Axapta COM Connector Session 1. SQL diagnostics: Использовать обнаруженный протокол SQL 's' не рекомендуется в многозадачном режиме Axapta." Может кто-то сталкивался с подобной проблемой, подскажите ,пожалуйста, в чем дело? |
|
02.06.2005, 12:37 | #2 |
Гость
|
попробуй dispatch() вызывать после logoff()
|
|
02.06.2005, 13:03 | #3 |
Участник
|
Не нашел Dispatch нашел Stop. Теперь все ок. Спасибо.
|
|
14.04.2006, 15:25 | #4 |
Участник
|
Вызываю "Stop" после "LogOff" выскакивает exception:
"Сбой при удаленном вызове процедуры." Но в конечном итоге сессия пользователя умирает, а если делать только logoff сессия продолжает висеть. Как же по нормальному завершить сеанс? |
|