G 7.10, Проблема с событием cmPositionChanged

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Alexander
Местный житель
Сообщения: 248
Зарегистрирован: 28 ноя 2006, 13:29

G 7.10, Проблема с событием cmPositionChanged

Сообщение Alexander »

Здравствуйте! Столкнулся со следующей проблемой:
есть 2 браузера, один зависит от другого.
Суть такова: когда перехожу по главной таблице(browse1), пробегаюсь циклом по дочерней(browse2), что-то вычисляю для каждой записи и складываю во временную таблицу, которая отображается в browse2. Все считается, все делается. НО! время заполнения временной таблички 5-15 секунд, сделал StartNewVisual, StopVisual. Результат: когда клавиатурой перемещаяюь по родительской - все нормально, но когда щелкаю мышью, после обработки за мышкой тянется выделение, как будто нажал клавишу и выделяю мышкой. Такое впечатление, что теряется событие "кнопка мыши была отпущена". смог вылечить только с помощью message('done'); Другие приседания результата не дали. Может кто сталкивался? Если комментирую Вижуалы - все нормально. :-(
Код:

Код: Выделить всё

      cmPositionChanged:{
         if(use_table_kau = 0){
            NumAnalit;
         }
         if(CurTable=#mnplan){
            Startnewvisual( vtrotatevisual, vftimer+vfThread, 'обработка аналитик',1);
            SetVisualTitle('Загрузка аналитик');
            _loop spmnplan{
               if(IsValidAll(#kau_table)) continue;
               SetVisualHeader('Обработано:' + VisualCount);
               NextVisual;
               TreeRazvorot;
               insert into kau_table set kau_table.skau = ViewPlanA.Vrapdir, kau_table.cmc = katmc.nrec, kau_table.cplan=mnplan.nrec;
            }
            if(getfirst spmnplan <> tsOk){};
            RescanPanel(#spmnplan);
            StopVisual('', 0);
            message('Загрузка успешно завершена');
//               ClearAllEvents();
         }
      }
Ответить