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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.04.2017, 18:47   #1  
lvan is offline
lvan
Участник
Аватар для lvan
Лучший по профессии 2014
 
858 / 82 (4) ++++
Регистрация: 15.04.2011
Записей в блоге: 1
а заассертить пермишены нинада? (если код на сервере исполняется)

try.. catch блок добавьте и в эксепшене увидите, почему не работает

Последний раз редактировалось lvan; 25.04.2017 в 18:55.
Старый 26.04.2017, 09:49   #2  
ansoft is offline
ansoft
Участник
Аватар для ansoft
 
123 / 37 (2) +++
Регистрация: 20.10.2005
:)
Цитата:
Пробовал ставить sleep() - не помогает.
Думаю, что если под отладчиком работает, а иначе - нет, то все же возможно, что методы в DLL асинхронные, а значит в отладчике хватает времени между шагами на то, чтобы такой метод отработал... соответственно не в отладчике - времени не хватает.

Читайте описание методов, если есть. Ищите методы, которые позволяют определить, что асинхронный вызов завершился... или ставьте sleep перед каждым вызовом с заведомо большой задержкой... может и выявите метод и сколько надо ждать (хотя это кривовато).
Старый 26.04.2017, 11:07   #3  
MaksNeskor is offline
MaksNeskor
Участник
 
14 / 10 (1) +
Регистрация: 19.02.2015
Адрес: Ukraine
Цитата:
Сообщение от ansoft Посмотреть сообщение
Думаю, что если под отладчиком работает, а иначе - нет, то все же возможно, что методы в DLL асинхронные, а значит в отладчике хватает времени между шагами на то, чтобы такой метод отработал... соответственно не в отладчике - времени не хватает.

Читайте описание методов, если есть. Ищите методы, которые позволяют определить, что асинхронный вызов завершился... или ставьте sleep перед каждым вызовом с заведомо большой задержкой... может и выявите метод и сколько надо ждать (хотя это кривовато).
Наставил слипов, ничего

X++:
        if(library.IsLibraryInitialized())
        {
            sleep(5000);
            library.UnprotectFiles(cv,true);
        }

        info(library.GetLastErrorDescription());
        sleep(5000);
        library.Finalize();
В отладчике дело происходит так:
ставлю точку останова на метод снятия подписи
library.UnprotectFiles(cv,true);
нажимаю step over(Shift+F8)
и файл создаётся.
Старый 26.04.2017, 11:53   #4  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,448 / 1792 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от MaksNeskor Посмотреть сообщение
ставлю точку останова на метод снятия подписи
library.UnprotectFiles(cv,true);
нажимаю step over(Shift+F8)
и файл создаётся.
Поставьте точку останова после library.Finalize(), а до не ставьте.
Чтобы убедится что дело не в самой отладке а именно в ожидании.
Старый 26.04.2017, 11:59   #5  
MaksNeskor is offline
MaksNeskor
Участник
 
14 / 10 (1) +
Регистрация: 19.02.2015
Адрес: Ukraine
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Поставьте точку останова после library.Finalize(), а до не ставьте.
Чтобы убедится что дело не в самой отладке а именно в ожидании.
Да, файл не создался.
Старый 26.04.2017, 11:07   #6  
MaksNeskor is offline
MaksNeskor
Участник
 
14 / 10 (1) +
Регистрация: 19.02.2015
Адрес: Ukraine
Цитата:
Сообщение от lvan Посмотреть сообщение
а заассертить пермишены нинада? (если код на сервере исполняется)

try.. catch блок добавьте и в эксепшене увидите, почему не работает
lvan, в catch не попадает, у библиотеки есть метод возвращающий описание ошибки. В результате выполнения джоба, этот метод возвращает значение "Выполнено успешно" )). Забыл сказать, Axapta 3.0.
Теги
comdoc, dll, ecom, эцп

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
palleagermark: Creating code for a dll that might or might not be on the system Blog bot DAX Blogs 0 07.01.2016 11:11
Ax3 and Win2008 для печати Arahnid DAX: Администрирование 13 22.04.2013 17:07
MSDAX 4.0 и планировщик win server 2008 werov2010 DAX: Администрирование 11 16.08.2012 14:18
Client Axapta 3.0 SP4 и Linux. Как запустить? Daiver DAX: Администрирование 10 28.06.2007 15:59
при вызове функции из своей DLL, вылетает ошибка Delfins DAX: Программирование 9 07.03.2006 19:29
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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