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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.02.2007, 11:15   #1  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2494 (89) +++++++++
Регистрация: 20.08.2005
Угу
Файл только создавал в другой проге. Но это не важно
__________________
Axapta v.3.0 sp5 kr2
Старый 23.02.2007, 13:06   #2  
VictorSH is offline
VictorSH
Участник
 
12 / 10 (1) +
Регистрация: 12.12.2005
После сообщения AndyD сделал то, что нужно было сделать с самого начала – посмотрел код по слоям. И обнаружил свинью, подложенную разработчиком.
Итак:

На SYS слое остался оригинальный код (до SP2)
client server static int getLastError()
{
DLL _winApiDLL = new DLL('KERNEL32');
DLLFunction _getLastError = new DLLFunction(_winApiDLL, 'GetLastError');

_getLastError.returns(ExtTypes:Word);

return _getLastError.call();
}
На SYP слое SP2 благополучно исправил ошибку – мол между вызовом файловых функций (например копирование) и getLastError Аксапта вызвает ещё кучу всего и таким образом это значение сбивает. Во 2-м SP значение getLastError кэшируется.
client server static int getLastError()
{
// Syp Modifications - SP2 - BEGIN
// DLL _winApiDLL = new DLL('KERNEL32');
// DLLFunction _getLastError = new DLLFunction(_winApiDLL, 'GetLastError');
//
// _getLastError.returns(ExtTypes:Word);
//
// return _getLastError.call();
return DLL::lastDLLError();
// Syp Modifications - SP2 – END
}
Но на VAR слое наш разработчик ничтоже сумятише вернул в зад эти исправления по какой-то ему одному ведомой причине:
client server static int getLastError()
{
// вернул все назад. а токакой-то криворукий вызов метода класса DDL сделал, а сам метод создать звбыл. повбывав бы!

// Syp Modifications - SP2 - BEGIN
DLL _winApiDLL = new DLL('KERNEL32');
DLLFunction _getLastError = new DLLFunction(_winApiDLL, 'GetLastError');

_getLastError.returns(ExtTypes:Word);

return _getLastError.call();
// return DLL::lastDLLError();
// Syp Modifications - SP2 - END
}

Вот так-то – удивительные рядом! Впредь буду изучать слой наших разработчиков прежде чем морочить голову отзывчивым людям из AxForum ) .
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Axapta WinAPI::SewWindow... кто знает как? UNRW DAX: Программирование 2 26.09.2008 15:28
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::getLastError() DreamCreator DAX: Программирование 4 20.06.2005 10:03
WinApi. Удаление файлов глючит. NJD DAX: Программирование 10 05.12.2003 13:31
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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