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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.02.2014, 03:19   #1  
IKA is offline
IKA
Участник
 
359 / 65 (3) ++++
Регистрация: 15.03.2006
Как определить тип открытого Workspace?
Задача - определить в каком workspace находится пользователь, а точней development ли это workspace.
Я пока нашла только путь через колыму - у нормального workSpace есть объект browser, поэтому Info.browser() не вернет объект, если открыт development Но хотелось бы как-то попрямолинейней.
Определить мне это нужно в Info.WorkspaceCreated(), куда, по сути, передается даже хендлер окна, но как по нему добраться до типа - не понятно.

В XInfo есть метод, создающий development workspace, но опять -таки же, как получить хотя бы хендлер того, что создалось - не понятно(

Ax2012 R2

Последний раз редактировалось IKA; 13.02.2014 в 04:26.
Старый 13.02.2014, 10:33   #2  
Ruff is offline
Ruff
Дмитрий Ерин
Аватар для Ruff
1C
 
475 / 396 (14) ++++++
Регистрация: 18.09.2003
Адрес: Тула
X++:
if(isDeveloper())
{
}
не подойдет?
__________________
Старый 13.02.2014, 14:29   #3  
IKA is offline
IKA
Участник
 
359 / 65 (3) ++++
Регистрация: 15.03.2006
Нет
Если вы посмотрите реализацию данного мтеода, то удивите, что он проверяет права пользователя. То , что пользоватль - девелопер не говорит нам о том, какой workspace открывается в createWorkspace
Старый 13.02.2014, 17:01   #4  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1243 (44) ++++++++
Регистрация: 11.04.2008
В принципе делается просто c помощью WinApi и анализом на предмет наличия окна ContеntPane. Искал как-то готовый метод, не нашел к сожалению.
За это сообщение автора поблагодарили: IKA (1).
Старый 13.02.2014, 21:26   #5  
IKA is offline
IKA
Участник
 
359 / 65 (3) ++++
Регистрация: 15.03.2006
Спасибо вам DSPIC и спасибо Pustik за пост тут
Наличие ContentFrame определяется вот так
X++:
HWND contentPane =  WinApi::findWindowEx( WinAPI::findWindowEx(infolog.hWnd(), 0, 'MDIClient', ''), 0, 'ContentFrame', '');
Действительно, по нему можно опередить development worksace или нет (проверила. работает). Единственное - не ясно, чем такой вариант лучше, чем через browser()? В чем отличие?
Теги
ax2012, ax2012r2

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Таблица, расширенный тип данных, базовый перечислимый тип или класс, вызванные test_Sdelka, уже существуют. Импортирование Table прервано. Poleax DAX: Программирование 4 17.05.2011 17:57
Как определить программно тип переменной-параметра Sergey Petrov DAX: Программирование 8 29.04.2010 10:06
Тип проекта if_maks DAX: Программирование 0 20.08.2004 14:30
Никак не могу вьехать, для чего нужны тип счета и тип разноски maloy DAX: Функционал 5 28.03.2004 17:18
Как определить тип Exception DenisS DAX: Программирование 0 25.12.2003 16:53
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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