Зарегистрироваться | Поиск |
Результаты опроса: Могут ли простые люди пользоваться табаксом | |||
У нас уже пользуются (а что дорабатывали?) |
![]() ![]() ![]() ![]() |
5 | 29.41% |
Да. Могут без доработок |
![]() ![]() ![]() ![]() |
7 | 41.18% |
Да. Могут, если доработать табакс (как?) |
![]() ![]() ![]() ![]() |
2 | 11.76% |
Да. Могут, если доработать пользователей |
![]() ![]() ![]() ![]() |
3 | 17.65% |
Не могут |
![]() ![]() ![]() ![]() |
0 | 0% |
Голосовавшие: 17. Вы ещё не голосовали в этом опросе |
|
Опции темы |
![]() |
#20 |
Участник
|
Он сохраняет послеждний формран (вернее, ObjectIndent), причем в данном конкретном случае наблюдается состояние, когда формрун не null, но при этом любое обращение к нему ведет к крешу.
Обращение нужно для проверки того, что формран не перестал быть активным. Это проверяется сравнением HWND формрана и верхнего окна. Соответстенно при получении HWND вормрана оно рушилось. Исправление. Стал хранить HWND формрана в отдельной перменной и сравнивать ее: X++: if(infolog.setLastActivatedForm()) activeFormRun=infolog.parmLastActivatedForm().object(); if(activeFormRun && activeFormRun.hWnd()==topmost) { #log('ObjectIdent') currentFormRun=new ObjectIdent(activeFormRun); currentFormRun_hwnd = topmost; #log('/ObjectIdent') } else { #log('this.currentFormRun') fr = this.currentFormRun(); if(fr) { // раньше было fr.hwnd != hwnd if(hwnd!=currentFormRun_hwnd) { currentFormRun=null; currentFormRun_hwnd = 0; } #log('/this.currentFormRun().hWnd()') } #log('/this.currentFormRun') } |
|