Показать сообщение отдельно
Старый 26.09.2008, 19:45   #3  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1243 (44) ++++++++
Регистрация: 11.04.2008
Не знаю, зачем такое понадобилось, но можно сделать так (первое что пришло на ум).
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.