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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.06.2005, 15:30   #1  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
WinAPI::getLastError()
День Добрый!

Хотел разобраться с расшифровкой числа которое возвращает WinAPI::getLastError

Нашел:
US-312-915-VPC4 WinAPi::getLastError() always returns 0 The problem was that the GetLastError value was set by Windows each time Windows API function was called. So, the reason that the X++ WinAPI::getLastError method wasn't able to pick up the correct error value, was that the kernel calls several Windows API functions between the X++ call to WinAPI::findFirstFile and WinAPI::getLastError, thus the GetLastError value was reset by Windows. This error was corrected - the kernel caches the GetLastError value right after a function call into a DLL and makes the value accessible from X++ via the DLL system class. Corrections needed: dllclass.hpp: Add a method to the classDLL class: int kcLastDLLError(interpret *ip); dllclass.cpp: Add int classDLL::kcLastDLLError(interpret *ip) { return ip->setIntReturnVal(LOCAL_SESSION_PBLK->_lastDLLError); } Add to classDLL::classDLL addMemberFunc(pType(DB_INT),"lastDLLError", QUALIFIER_STATIC | QUALIFIER_PROPERTY, (classStatic)&classDLL::kcLastDLLError); Change xDLLFunc::kcCall to { if (ip->getNumberOfArgs() != _numargs) // illegal number of arguments return ip->CQLRunError(CQL_ERR_FUNCARG2); int ret = CallDLLFunction(_dllfunc, _numargs, _argtypes, _rettype, ip, _dll->dllName(), _name); LOCAL_SESSION_PBLK->_lastDLLError = GetLastError(); return ret; } csesrv.hpp: Add a member to the SesPblk_t struct: public: DWORD _lastDLLError; X++ : WinAPI::getLastError: client server static int getLastError() { return DLL::lastDLLError(); }


Вопрос с рашифровкой остался открытым.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
WinAPI и работа с файлами SHiSHok DAX: Программирование 4 15.05.2007 11:31
WinAPI::getLastError() всегда возвращает 0 VictorSH DAX: Программирование 11 23.02.2007 13:06
Dynamics AX Geek: Finding files with WinAPI Blog bot DAX Blogs 0 28.10.2006 16:40
WinAPI. Ссылка (POINT) третьего уровня вложенности Владимир Максимов DAX: Программирование 2 06.02.2006 16:28
WinApi. Удаление файлов глючит. NJD DAX: Программирование 10 05.12.2003 13:31
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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