|
13.02.2014, 03:19 | #1 |
Участник
|
Как определить тип открытого 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 |
Дмитрий Ерин
|
X++: if(isDeveloper())
{
}
__________________
|
|
13.02.2014, 14:29 | #3 |
Участник
|
Нет
Если вы посмотрите реализацию данного мтеода, то удивите, что он проверяет права пользователя. То , что пользоватль - девелопер не говорит нам о том, какой workspace открывается в createWorkspace |
|
13.02.2014, 17:01 | #4 |
Боец
|
В принципе делается просто c помощью WinApi и анализом на предмет наличия окна ContеntPane. Искал как-то готовый метод, не нашел к сожалению.
|
|
|
За это сообщение автора поблагодарили: IKA (1). |
13.02.2014, 21:26 | #5 |
Участник
|
Спасибо вам DSPIC и спасибо Pustik за пост тут
Наличие ContentFrame определяется вот так X++: HWND contentPane = WinApi::findWindowEx( WinAPI::findWindowEx(infolog.hWnd(), 0, 'MDIClient', ''), 0, 'ContentFrame', ''); |
|
Теги |
ax2012, ax2012r2 |
|
|