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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.08.2004, 13:10   #1  
BorDark is offline
BorDark
Участник
Аватар для BorDark
 
24 / 10 (1) +
Регистрация: 09.08.2004
Адрес: планета Земля
Talking Ой, протупил. Решение
В указанном коде надо заменить
h = textHandle.dWord(8); // всегда = 0
len = textLength.Word(8); // всегда = 0 :'((

на

h = textHandle.dWord(0); // то, что надо ;0)
len = textLength.Word(0); // то, что надо :0)

Вот функция, которая будет возвращать код и описание последней ошибки, произошедшей в Crystal Report Engine (мало ли, пригодится кому)


void showError(int _jn, str _descr = "")
{
Binary textHandle = new Binary(32);
Binary textLength = new Binary(16);
Binary errorText;
int errCode;
HWND h;
int len;

DLLFunction PEGetErrorCode;
DLLFunction PEGetErrorText;
DLLFunction PEGetHandleString;
;
PEGetErrorCode = new DLLFunction(crdll, "PEGetErrorCode");
PEGetErrorText = new DLLFunction(crdll, "PEGetErrorText");
PEGetHandleString = new DLLFunction(crdll, "PEGetHandleString");

PEGetErrorCode.returns(ExtTypes::Byte);
PEGetErrorCode.arg(ExtTypes:Word);

PEGetErrorText.returns(ExtTypes::Byte);
PEGetErrorText.arg(ExtTypes::Word,
ExtTypes::Pointer,
ExtTypes::Pointer);

PEGetHandleString.returns(ExtTypes::Byte);
PEGetHandleString.arg(ExtTypes:Word,
ExtTypes::Pointer,
ExtTypes::Word);

try
{
// код ошибки
errCode = PEGetErrorCode.call(_jn);

if (!PEGetErrorText.call(_jn, textHandle, textLength))
throw error("Неудачный вызов PEGetErrorText (showError #1)");
else
{
h = textHandle.dWord(0);
len = textLength.Word(0);
errorText = new Binary(textLength);
if (!PEGetHandleString.call(h, errorText, len))
throw error("Неудачный вызов PEGetHandleString (showError #2)");
}
_descr = _descr + (_descr ? "\n" : "") + int2str(errCode) + " - " + errorText.string(0);
throw error(_descr);
} catch (Exception::Error)
{
this.closeJob(_jn);
throw ("");
}
}

Отдельное спасибо dn за внимание к теме и помощь
Теги
crystal reports, ax2.5, ax3.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Server 2005 Report Pack for Microsoft Dynamics Axapta 3.0 Recoilme DAX: База знаний и проекты 1 02.08.2007 19:13
Axapta Lessons: Auto Report as finished Blog bot DAX Blogs 0 28.10.2006 18:22
Crystal Report Engine как OLE Automation-сервер malkolio DAX: Программирование 5 18.08.2004 13:23
Использование Crystal Reports вместе с Axapta lakoval DAX: Функционал 1 30.01.2002 23:11
Введение в Аксапту Роман Кошелев DAX: Прочие вопросы 0 18.12.2001 14:00

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

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

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