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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.12.2004, 13:05   #1  
Alks is offline
Alks
Участник
 
336 / 41 (2) +++
Регистрация: 23.07.2004
Адрес: г. Новокузнецк
Действительно... происходящее можно объяснить тем что акспта где то внутри класса COM вместо кода

if ( FAILED( dispIface.Invoke( ... ) ) )
{
// raise error
}

использует

if ( dispIface.Invoke( ... ) != 0 )
{
// raise error
}

в ком-объектах почти все методы по идее должны возвращать значение типа HRESULT, нулевое значение которого (или константа S_OK) означает полный успех операции. Но значение это комплексное, разбито на битовые маски, из которых только часть означает фатальную ошибку.
Вот часть файла winerror.h, для прояснения ситуации:

PHP код:
//
// Generic test for success on any status value (non-negative numbers
// indicate success).
//

#define SUCCEEDED(Status) ((HRESULT)(Status) >= 0)

//
// and the inverse
//

#define FAILED(Status) ((HRESULT)(Status)<0)


//
// Generic test for error on any status value.
//

#define IS_ERROR(Status) ((unsigned long)(Status) >> 31 == SEVERITY_ERROR) 
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Dynamics AX: ERPLive.com - What's this? Blog bot DAX Blogs 0 26.09.2008 04:19
Dynamics AX: MicrosoftDynamicsAddons.com Blog bot DAX Blogs 0 22.01.2008 03:29
Arijit Basu: Reporting & BI in AX: An Overview [Level 100] Blog bot DAX Blogs 0 07.01.2008 16:01
Работа с COM-объектом 1С - НайтиПоКоду не ест параметры :( Tony Green DAX: Программирование 14 14.04.2004 11:29

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 07:42.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.