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

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

Читайте описание методов, если есть. Ищите методы, которые позволяют определить, что асинхронный вызов завершился... или ставьте sleep перед каждым вызовом с заведомо большой задержкой... может и выявите метод и сколько надо ждать (хотя это кривовато).
Старый 26.04.2017, 11:07   #2  
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   #3  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,448 / 1789 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от MaksNeskor Посмотреть сообщение
ставлю точку останова на метод снятия подписи
library.UnprotectFiles(cv,true);
нажимаю step over(Shift+F8)
и файл создаётся.
Поставьте точку останова после library.Finalize(), а до не ставьте.
Чтобы убедится что дело не в самой отладке а именно в ожидании.
Старый 26.04.2017, 11:59   #4  
MaksNeskor is offline
MaksNeskor
Участник
 
14 / 10 (1) +
Регистрация: 19.02.2015
Адрес: Ukraine
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Поставьте точку останова после library.Finalize(), а до не ставьте.
Чтобы убедится что дело не в самой отладке а именно в ожидании.
Да, файл не создался.
Теги
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, время: 16:05.