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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.04.2015, 15:14   #1  
at5454 is offline
at5454
Участник
 
61 / 10 (1) +
Регистрация: 29.05.2014
Макросы StartSafeCall_RU
Здравствуйте! AX 4.0
Столкнувшись с проблемой работы класса ComExcelDocument_RU на терминале
решил проблему как советуют здесь:
Ошибка времени выполнения в ComExcelDocument_RU.findRange()
Ошибка Terminal + ComExcelDocument_RU

Это частично помогло теперь не валятся ошибки связанные с findrange и "неверное число параметров"
Заключил все какие можно com методы в эти макросы.
Но теперь все равно ругается(пишет неверное число паметров) на Вот на этот метод класса, хотя макрос стоит:

COM getWorkSheet(anytype _workSheetID)
{
COM comRet;
if (m_comDocument)
{
try
{
this.getWorkSheets();
//-->>
#StartSafeCall_RU
comRet = comWorkSheets.item(_workSheetID); //РУГАЕТСЯ ЗДЕСЬ!
#EndSafeCall_RU
//<<--
}
catch (Exception::Error)
{
throw error("@GEE6043");
}
}

return comRet;
}
Старый 24.04.2015, 15:18   #2  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,940 / 3229 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
На форуме тема обсуждалась уже. Поищите.
Такие ошибки часто проявляются для терминальных серверов.
Один из способов решения - обертывать параметр вызова в ComVariant класс-обертку и передавать уже его.
Старый 24.04.2015, 15:33   #3  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Еще важно убрать все start / endLengthyOperation() , т.е. "песочные часы", из программы.
Старый 24.04.2015, 16:55   #4  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,691 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Вы бы по приведенным Вами ссылкам дочитали бы темы до конца Там же неоднократно повторялось, что эти макросы практически бесполезны. Объяснялось почему и были приведены решения снимающие проблему полностью

Локальное решение - thread (отдельные потоки) для каждого класса, использующего выгрузку в Excel. Т.е. добавить пару методов к существующим классам.

Глобальное решение - обертка с ComVariant для всех методов ComExcelDocument_RU. Т.е. полностью переписать класс ComExcelDocument_RU
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
За это сообщение автора поблагодарили: at5454 (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Сортировка в Report smailik DAX: Программирование 8 12.12.2013 20:10
BookDataCalc_Sales_Ru, метод initOnPayment ошибка jonny DAX: Программирование 4 24.04.2011 16:52
Локализаторский движок работы с российским форматом адресов (FormRunListener_Address_RU) не поддерживает группы в гриде! gl00mie DAX: Программирование 0 14.03.2011 21:31
ALEG: Блог переехал на новую площадку tools4cio.ru Blog bot DAX Blogs 0 23.02.2009 18:05
Вопрос по классу SalesPurchReport_RU Кирилл DAX: Программирование 4 27.02.2004 13:28
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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