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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.11.2007, 13:38   #1  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
Присоединяюсь к просьбе vallys.
__________________
Андрей.
Старый 08.10.2008, 12:46   #2  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
Вновь подниму тему, вдруг у кого какие полезные мысли появились? Остался открытым вопрос: можно ли программно менять режим запуска AOS с "On Demand" на "Manual" и обратно?
__________________
Андрей.
Старый 09.10.2008, 14:56   #3  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2494 (89) +++++++++
Регистрация: 20.08.2005
Выкладываю обновление dll.
  • Добавлены методы для вызова из командной строки:
AosGetStartupType_RunDll - информация об типе запуска AOS (командный файл startup.cmd с примером вызова и обработки сообщений)

AosSetStartupTypeAutomatic_RunDll
AosSetStartupTypeManual_RunDll
AosSetStartupTypeDisable_RunDll
AosSetStartupTypeOnDemand_RunDll
- ряд функций для установки типа запуска AOS. Названия функций соответствуют выполняемому действию (пример использования - в файле startupDisable.cmd).

Правила вызова функций остаются прежними:

rundll32 AosMgr.dll,AosStatus_RunDll Axapta "Aaa 1" 1

После имени вызываемой функции указывается имя хоста или IP адрес.
Второй параметр - имя AOS. Если в имени есть пробелы, то заключить в двойные кавачки.
Третий параметр - показывать (1)/не показывать (0 или не указывать параметр) сообщение в случае ошибки

В методы, вызываемые из RunDll добавлено возвращение кода возврата (можно обрабатывать через errorlevel). Во вложении есть пример обработки возвращаемого статуса в файле start.cmd (для всех методов обработка одинаковая)
  • Добавлены методы для вызова из среды разработки:
AosGetStartupType - для получения информации о типе запуска AOS
AosSetStartupType - для установки информации о типе запуска AOS

В архиве вложен проект для Аксапты с реализацией класса управления AOS


Все функции, изменяющие статусы/останавливающие/стартующие AOS для своего выполнения требуют наличия соответствующих прав
Вложения
Тип файла: rar aos.rar (57.5 Кб, 438 просмотров)
__________________
Axapta v.3.0 sp5 kr2
За это сообщение автора поблагодарили: Dron AKA andy (6), raz (5), vallys (2), virhundo (1).
Старый 10.10.2008, 11:19   #4  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
AndyD, респект!
__________________
Андрей.
Старый 01.12.2008, 20:10   #5  
Delfins is offline
Delfins
Участник
 
320 / 39 (2) +++
Регистрация: 20.09.2005
Адрес: Riga, Latvia
Что то у меня не правильно работает обработка статуса при стопе:

X++:
:stop_AOS
echo STOP AOS: "%X_AOSNAME%@%X_AOSSERVER%"
rundll32 %AOS_BIN%/AosMgr.dll,AosStop_RunDll %X_AOSSERVER% %X_AOSNAME% 0

:check_AOS_STOPStatus
sleep 2
rundll32 %AOS_BIN%/AosMgr.dll,AosStatus_RunDll %X_AOSSERVER% %X_AOSNAME% 0
if errorlevel 1 goto exit_OK

goto check_AOS_STOPStatus
Пока идёт цикл остановки ("Stopping ..." в АОС утилите).. он у меня возвращает как уже остановленный... поэтому при копировании файлов у меня ошибка - аои занят (я его удаляю..)

Это так и должно быть?
Спасибо за утилитку!
Старый 30.06.2009, 13:09   #6  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5813 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от Delfins Посмотреть сообщение
Что то у меня не правильно работает обработка статуса при стопе:
X++:
if errorlevel 1 goto exit_OK
Пока идёт цикл остановки ("Stopping ..." в АОС утилите).. он у меня возвращает как уже остановленный... Это так и должно быть?
В данном случае в батнике некорректно обрабатывается errorlevel. Особенность командных процессоров еще со времен DOS в этом отношении состоит в том, что if errorlevel <значение> использует фактически не оператор ==, а оператор >=, поэтому если возможных кодов возврата несколько, как в данном случае, то их проверки следует располагать по убыванию значения кода возврата, например, так:
Код:
if errorlevel 4 goto AOS_started
if errorlevel 3 goto AOS_stopPending
if errorlevel 2 goto AOS_startPending
if errorlevel 1 goto AOS_stopped
Одиночная же проверка if errorlevel 1 вообще ничего не говорит о реальном статусе AOS'а, но лишь позволяет определить, что статус AOS'а был успешно получен.
Теги
aos, ax3.0, download, faq, администрирование, законченный пример

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
daxis: Troubleshooting blocked SPIDS in AOS Blog bot DAX Blogs 0 01.04.2009 18:05
Arijit Basu: AX 4 AOS Basics: [Level 100] Blog bot DAX Blogs 0 18.11.2007 14:30
DynamicsTech: What's New in Dynamics Ax 4.0 AOS? Blog bot DAX Blogs 0 12.04.2007 11:50
axaptapedia: Control AOS from command line Blog bot DAX Blogs 0 09.03.2007 14:50
Топология AOS'ов Sequel DAX: Администрирование 9 03.05.2006 18:37
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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