|
![]() |
#1 |
Участник
|
Угу
Файл только создавал в другой проге. Но это не важно
__________________
Axapta v.3.0 sp5 kr2 |
|
![]() |
#2 |
Участник
|
После сообщения AndyD сделал то, что нужно было сделать с самого начала – посмотрел код по слоям. И обнаружил свинью, подложенную разработчиком.
Итак: На SYS слое остался оригинальный код (до SP2) client server static int getLastError() { DLL _winApiDLL = new DLL('KERNEL32'); DLLFunction _getLastError = new DLLFunction(_winApiDLL, 'GetLastError'); _getLastError.returns(ExtTypes: ![]() 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: ![]() // // 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: ![]() return _getLastError.call(); // return DLL::lastDLLError(); // Syp Modifications - SP2 - END } Вот так-то – удивительные рядом! Впредь буду изучать слой наших разработчиков прежде чем морочить голову отзывчивым людям из AxForum ![]() |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|