Не знаю, зачем такое понадобилось, но можно сделать так (первое что пришло на ум).
1. Создать таблицу с полями: 1. UserId, 2. Hwnd, 3. Update [NoYes], 4. Имя формы (опционально).
2. Далее, находим в AOT класс SysSetupFormRun, перекрываем метод run() и после вызова super() инициализируем и вставляем запись в нашу табличку: curUserId(), this.hWnd(), Update=No;
3. Используя метод setTimeOut() этого же класса периодически сканим нашу таблицу, ищем там текущее окно и проверяем флаг update==Yes, обновляем форму и сбрасываем его в No
Тем временем, при необходимости обновления формы на клиенте, мы с другого клиента, отыскиваем в нашей таблице нужную для обновления форму и взводим флаг update==Yes.
Над 3м пунктом можно ещё подумать, может можно найти другой способ, избавився от периодического скана таблицы.
PS: Да, естественно, перед закрытием формы не забываем удалять запись из нашей таблички (перекрыть close() в этом же классе)
Для информации, класс SysSetupFormRun наследуется всеми формами, так что манипуляции с ним действуют на ВСЕ формы в DAX, поэтому будьте осторожны, при его модификации
Последний раз редактировалось DSPIC; 26.09.2008 в 19:50.
|