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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.12.2006, 17:06   #1  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
Закрыть программно Infolog
Люди добрые Подскажите как грохнуть инфолог. Закрыть формочку эту
Старый 27.12.2006, 17:15   #2  
KiselevSA is offline
KiselevSA
Злыдни
Аватар для KiselevSA
Злыдни
Лучший по профессии 2015
 
958 / 333 (13) ++++++
Регистрация: 25.01.2002
Адрес: Москва
А зачем? Установите в параметрах уровень детализации "Ошибки" и живите спокойно
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.
Старый 27.12.2006, 17:18   #3  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
Ну наступает такой момент в жизни когда он не нужен Ну не нужно пугать пользователя ссобщением, что то то не найдено в Мар Ни к чему это ему...
Старый 27.12.2006, 17:21   #4  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
X++:
infolog.clear();
Старый 27.12.2006, 17:22   #5  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
Хотя наверно каждый раз как сообщение выходит чистить его... И тогда вроде будет норм.
Старый 27.12.2006, 17:23   #6  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Для 3.0: Изучите класс Info, метод closeInfoLogDelayed().
Старый 27.12.2006, 17:25   #7  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
Цитата:
Сообщение от EVGL Посмотреть сообщение
Для 3.0: Изучите класс Info, метод closeInfoLogDelayed().
Хмм.. У меня нет такого метода...
Старый 27.12.2006, 18:01   #8  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,262 / 982 (37) +++++++
Регистрация: 03.04.2002
Цитата:
Сообщение от Sada Посмотреть сообщение
Люди добрые Подскажите как грохнуть инфолог. Закрыть формочку эту
Можно тупо заменить код в Info.add на return _exception;
__________________
Isn't it nice when things just work?
Старый 27.12.2006, 18:35   #9  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Сообщение от Sada Посмотреть сообщение
Ну не нужно пугать пользователя ссобщением, что то то не найдено в Мар
У Map есть метод exists()
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 28.12.2006, 09:49   #10  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Если надо, что бы сообщения инфолог вообще не выводились для какого-то куска кода, можно воспользоваться таким приемом
X++:
    int errorsPerBatch = infolog.errorsPerBatch();
    Map map = new Map(Types::Integer, Types::String);
    ;
    if (errorsPerBatch < 0) errorsPerBatch = maxint()-1;
    try
    {
        infolog.errorsPerBatch(-1);
//--> Сюда вставляем нужный нам код
        map.lookup(1);
//<-- Сюда вставляем нужный нам код
        infolog.errorsPerBatch(errorsPerBatch);
    }
    catch
    {
        infolog.errorsPerBatch(errorsPerBatch);
    }
__________________
Axapta v.3.0 sp5 kr2
За это сообщение автора поблагодарили: Sada (1), alex55 (1).
Старый 28.12.2006, 10:20   #11  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Можно, я таким образом подавлял COM-ошибки при работе с Excel. Вот только оборачивать каждый вызов вот такой оберткой не очень удобно и читаемо. А что-либо более универсальное я, к сожалению, не придумал.
Старый 28.12.2006, 10:36   #12  
denny is offline
denny
Участник
 
93 / 29 (1) +++
Регистрация: 16.11.2003
Адрес: Novosibirsk
Еще вариант, также через try/catch. Класс smmContactPersonsSynchronize, метод copyFieldsFromOutlook, подавляется вывод на экран ненужных сообщений об ошибках:

X++:
//
    try
    {
       item = outlookNameSpace.GetItemFromID(strupr(_smmOutlookContacts.EntryId));
    }
    catch(exception::Error)
    {
        infoLogLine = infolog.line();

        // Remove unwanted system error message
        infolog.cut(infoLogLine, infoLogLine + 1);
    }
__________________
Денис Балуев.
Старый 28.12.2006, 17:23   #13  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от denny Посмотреть сообщение
Еще вариант, также через try/catch. Класс smmContactPersonsSynchronize, метод copyFieldsFromOutlook, подавляется вывод на экран ненужных сообщений об ошибках:
X++:
//
    try
    {
       item = outlookNameSpace.GetItemFromID(strupr(_smmOutlookContacts.EntryId));
    }
    catch(exception::Error)
    {
        infoLogLine = infolog.line();

        // Remove unwanted system error message
        infolog.cut(infoLogLine, infoLogLine + 1);
    }
Для более обширного куска кода, а также в случае, когда число сообщений об ошибках заранее неизвестно можно использовать примерно такой код:
X++:
int nLines = infolog.line();
try
{
    // какая-то длительная обработка...
}
catch(exception::Error)
{
    // оставляем только те сообщения, что возникли перед try {}
    infolog.clear(nLines);
}
Старый 28.12.2006, 17:43   #14  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Если это ответы мне , то предложенные способы мне бы не подошли, так как исключения выбрасываемые при работе с COM объектами запишут в Infolog то, что они хотели записать и никакой try..catch тут не поможет.
Старый 29.12.2006, 14:48   #15  
Russland is offline
Russland
MCTS
Аватар для Russland
MCBMSS
 
267 / 116 (4) +++++
Регистрация: 17.10.2005
Адрес: Донеччина, Україна
Цитата:
Подскажите как грохнуть инфолог. Закрыть формочку эту
Грохнуть можно :-)
Для этого используем апишную функцию DestroyWindow
The DestroyWindow function destroys the specified window
Недостаток: убив окно, мы его больше не увидим в текущей сессии
или CloseWindow
Тhe CloseWindow function minimizes (but does not destroy) the specified window.

Можно поступить немного по-другому
окно инфолог - это ж форма SysInfologBrowser
Итак, в дизайне свойство Frame - Dialog меняем на Standard
Всё! Окно становится сворачиваемым. Не хочет пользователь видеть информацию, выводимую в инфолог - пусть сворачивает его.
Как я уже выше говорил, программно свернуть инфолог можно функцией CloseWindow
__________________

В глухомани, в лесу Несмотря на красу Дни проводит Лиса Патрикевна. Я никак не пойму Отчего, почему Не пускают куму На деревню
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
gatesasbait: How to temporarily suppress infolog messages in Dynamics Ax (deux) Blog bot DAX Blogs 7 28.01.2009 17:45
DAX 4.0: infolog & workspaceNum petergunn DAX: Программирование 3 22.01.2009 11:32
Kashperuk Ivan: SysInfoAction class description - Improve your Infolog Blog bot DAX Blogs 0 17.09.2008 03:23
casperkamal: Customizing Infolog through SysInfoAction Blog bot DAX Blogs 0 30.01.2007 20:20
Как программно закрыть форму? Red Stranger DAX: Программирование 8 11.05.2005 16:04

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

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

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