AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.09.2003, 15:35   #1  
listener is offline
listener
Участник
 
74 / 11 (1) +
Регистрация: 23.07.2003
Адрес: г. Москва
RunOn=Server Проблема
Есть класс, один из методов которого возвращает ccadoconnection

ccadoconnection get(str constr)
{
ccadoconnection cn;
;
cn = new ccadoconnection();
cn.open(constr);
return cn;
}

Если установить для класса RunOn=Client, все работает отлично.
Если RunOn=Server, то строка comm.activeConnection(cn); вызывает падение Axapta.
Вот AxaptaCrash.log
Axapta Crash Dump File for Axapta build 1951.17 (Oct 9 2002 11:51:44)
Dumped : Fri Sep 26 15:31:36 2003

Crash : Exception 0xc0000005 caught (unspecified) in thread 0x370 of process 0x66c.
-------------------------------------------------------------

--# FV EIP----- RetAddr- FramePtr StackPtr Symbol

0 .V 008123d6 00000000 00000009 0012e6e4 Mod: ax32[ax32.exe], base: 00400000h

Stackdump exit code 487 (Attempt to access invalid address)
Старый 01.10.2003, 18:00   #2  
listener is offline
listener
Участник
 
74 / 11 (1) +
Регистрация: 23.07.2003
Адрес: г. Москва
В продолжение темы
если написать для класса метод, который возвращает ccadorecordset,
то он прекрасно выполняется и на сервере.
Старый 01.10.2003, 19:12   #3  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
ну не шмогла я, не шмогла.. (с)

Не перенесся некий COM, созданный на клиенте, со всеми своими свойствами и методами на сервер. Да и как такое в принципе могло произойти?
Старый 02.10.2003, 10:15   #4  
listener is offline
listener
Участник
 
74 / 11 (1) +
Регистрация: 23.07.2003
Адрес: г. Москва
COM я создаю на сервере, пытаюсь вернуть ссылку на него в клиентскую программу.
В случае ccadorecordset все OK, ccadoconnection возвращает не понятно что, и подозрительно быстро(т.е. сразу, наверное даже не пытаеться получить коннект).
Старый 02.10.2003, 10:27   #5  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
А можно на код взглянуть? Интересно ведь
Старый 02.10.2003, 10:48   #6  
listener is offline
listener
Участник
 
74 / 11 (1) +
Регистрация: 23.07.2003
Адрес: г. Москва
Код? Легко.
PRM_ADOGetConnect.getRS(str строка_запроса) --> Возвращает RecordSet (нормально возвращает) PRM_ADOGetConnect.new(str строка_соединения)
PRM_ADOGetConnect2.getconn(str constr)-->Возвращает Connection(только когда класс
RunOn=Client, если RunOn=Server падает Axapta)
Вложения
Тип файла: zip tovadik.zip (1.1 Кб, 72 просмотров)
Старый 03.10.2003, 13:17   #7  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Посмотрел.
Сделал пример. Если трассировать его в трехзвенке и закомментировать проверку
PHP код:
if (varConnection == null
, должен был бы упасть на строке
PHP код:
cmd.activeConnection(cn); 
, а в двухзвенке будет работать всегда
Почему?
cmd (CMDADOCommand) у нас создан на клиенте (в job-е)
cn (CCADOConnection) - создан на сервере ( ибо у создавшего его класса RunOn = Server).
В принципе, неважно, кто где, важно, что в трехзвенке они оказываются на разных машинах. и, в отличие от классов и таблиц аксапты, не могут перемещаться между клиентом и AOS-ом.

Попробуйте либо отказаться от ADO, либо создавать и работать со всеми необходимыми CCADO* классами в одном объекте
Вложения
Тип файла: xpo checkccado.xpo (3.9 Кб, 456 просмотров)
Старый 06.10.2003, 13:30   #8  
listener is offline
listener
Участник
 
74 / 11 (1) +
Регистрация: 23.07.2003
Адрес: г. Москва
Спасибо.
Буду возвращать RecordSet через getRS(). Он работент как надо.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Dynamics AX: Dynamics AX 2009 & SQL Server 2008 Blog bot DAX Blogs 0 10.06.2008 21:08
Проблема интеграции DAX 4.0 с BizTalk Server 2006 koraman DAX: Администрирование 6 12.02.2008 16:21
Поведение equal() метода в классе RunOn Server v3.0 SP4 Russland DAX: Программирование 7 15.11.2007 16:12
Dynamics AX: SQL Server, Heart of Dynamics AX Blog bot DAX Blogs 0 13.07.2007 18:00
aEremenko: Диагностика проблем при установке Microsoft Dynamics Ax 4.0 на Microsoft SQL Server 2005 Blog bot DAX Blogs 0 28.10.2006 16:01

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 20:51.