Подвисание Browse
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
-
- Ветеран
- Сообщения: 390
- Зарегистрирован: 26 Август 2009, 12:41
- Откуда: Moscow
- Контактная информация:
Подвисание Browse
Добрый день!
Кларион 6, АВС, TPS.
В обычном BRowse, стоит фильтр в Embed, типа:
if kkk=1 then
if ~KLI:dataK<=today() or KLI:dataK=0 then ! KLI:dataK - LONG
returnvalue=5
return returnvalue
end
end
! KKK- check box
При обработке которого стоит:
brw2.resetfrombuffer()
Все работает, но при включенном ККК происходит "подвисание" (достаточно долгая обработка) скроллинга мышью:
вверх - если стоим на первой записи Browse
или
вниз - если стоим на последней записи Browse
Самое неприятное: время подвисания возростает на несколько порядков, когда база не на своем компе!
Алексей
Кларион 6, АВС, TPS.
В обычном BRowse, стоит фильтр в Embed, типа:
if kkk=1 then
if ~KLI:dataK<=today() or KLI:dataK=0 then ! KLI:dataK - LONG
returnvalue=5
return returnvalue
end
end
! KKK- check box
При обработке которого стоит:
brw2.resetfrombuffer()
Все работает, но при включенном ККК происходит "подвисание" (достаточно долгая обработка) скроллинга мышью:
вверх - если стоим на первой записи Browse
или
вниз - если стоим на последней записи Browse
Самое неприятное: время подвисания возростает на несколько порядков, когда база не на своем компе!
Алексей
-
- ✯ Ветеран ✯
- Сообщения: 4983
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Re: Подвисание Browse
А KLI:DataK в очереди? Если нет - идет обращение к диску.
We are hard at work… for you.
- Admin
- Администратор
- Сообщения: 3959
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 25 раз
- Поблагодарили: 22 раза
- Контактная информация:
Re: Подвисание Browse
В таком случае при kkk=0 тормозило бы точно так же, т.к. обращение к переменной не есть обращение к диску.kreator писал(а):А KLI:DataK в очереди? Если нет - идет обращение к диску.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- Admin
- Администратор
- Сообщения: 3959
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 25 раз
- Поблагодарили: 22 раза
- Контактная информация:
Re: Подвисание Browse
Тупо повторил код - все просто летает.Алексей- Софт-Центр писал(а):Все работает, но при включенном ККК происходит "подвисание" (достаточно долгая обработка)
Не хватает данных для реализации такого эффекта, ключи, сортировки, размер базы, доп. фильтры и т.д.
Нужен реальный пример который тупит, лучше тестовый APP+DCT с TPS таблицей.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
-
- Ветеран
- Сообщения: 390
- Зарегистрирован: 26 Август 2009, 12:41
- Откуда: Moscow
- Контактная информация:
Re: Подвисание Browse
Размер базы - 4000 записей
Все поля, участвующие в сравнении - в списке брозера.
Самое интересное, что в этом ембеде - стоит 3 проверки трех разных полей. По двум торможения нет, как только включаю третью - тормоз
Я понимаю, что так на словах - трудно воспринять проблему.
Поэтому :
могу подключить к своему рабочему столу через teamviewer, чтобы не писать пример.
Алексей
Все поля, участвующие в сравнении - в списке брозера.
Самое интересное, что в этом ембеде - стоит 3 проверки трех разных полей. По двум торможения нет, как только включаю третью - тормоз
Я понимаю, что так на словах - трудно воспринять проблему.
Поэтому :
могу подключить к своему рабочему столу через teamviewer, чтобы не писать пример.
Алексей
-
- Ветеран
- Сообщения: 390
- Зарегистрирован: 26 Август 2009, 12:41
- Откуда: Moscow
- Контактная информация:
Re: Подвисание Browse
Сделал попытку сформировать фильтр таким образом:
BRW2::View:Browse{prop:filter}='KLI:dataK>TD or ~KLI:dataK=0 '
brw2.resetfrombuffer()
Воткнул это в кнопку. Но при исполнении данного фрагмента - ничего не происходит (броуз не фильтруется)
или это с TPS не работает? или не для АВС ?
Кто-нибудь пробовал такую конструкцию?
Алексей
BRW2::View:Browse{prop:filter}='KLI:dataK>TD or ~KLI:dataK=0 '
brw2.resetfrombuffer()
Воткнул это в кнопку. Но при исполнении данного фрагмента - ничего не происходит (броуз не фильтруется)
или это с TPS не работает? или не для АВС ?
Кто-нибудь пробовал такую конструкцию?
Алексей
- Admin
- Администратор
- Сообщения: 3959
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 25 раз
- Поблагодарили: 22 раза
- Контактная информация:
Re: Подвисание Browse
Если такой маленький объем данных, предложу все таки сделать отдельную апликаху с бровзом и в нем проэмулировать глюк.
Далее выложить здесь на форуме. Тогда будем посмотреть... а так что то говорить трудно.
PROP:Filter не пользовался.
Далее выложить здесь на форуме. Тогда будем посмотреть... а так что то говорить трудно.
PROP:Filter не пользовался.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- Admin
- Администратор
- Сообщения: 3959
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 25 раз
- Поблагодарили: 22 раза
- Контактная информация:
Re: Подвисание Browse
Тут с Андреем ПОповым поспорили чутка. Он оказался прав а я заблуждался.
100% все в правильном индексе...
Когда ты включаешь галку у тебя перебираются все записи твоей таблицы до заполнения бровза.
Наверняка на бровзе стоит загрузка постраничная...
Короче вывод: правильный ключ использовать... или переделать ключ (добавив дату) или по ключу по дате выборки делать а потом сортировать по "Aditional sort fields" (как то так...)
Как Андрей мне правильно сказал... мы уже забыли как с TPS работать... и оперируем в связи с другими задачами и с SQL гораздо большими объемами... на порядки. Без всякого гемороя (почти)
Чего и Вам желаем.
Спасибо.
100% все в правильном индексе...
Когда ты включаешь галку у тебя перебираются все записи твоей таблицы до заполнения бровза.
Наверняка на бровзе стоит загрузка постраничная...
Короче вывод: правильный ключ использовать... или переделать ключ (добавив дату) или по ключу по дате выборки делать а потом сортировать по "Aditional sort fields" (как то так...)
Как Андрей мне правильно сказал... мы уже забыли как с TPS работать... и оперируем в связи с другими задачами и с SQL гораздо большими объемами... на порядки. Без всякого гемороя (почти)
Чего и Вам желаем.
Спасибо.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
-
- Ветеран
- Сообщения: 390
- Зарегистрирован: 26 Август 2009, 12:41
- Откуда: Moscow
- Контактная информация:
Re: Подвисание Browse
Вышел из положения следующим образом:
BRW2.SetSort(2)
BRW2.SetFilter('(KLI:dataK<=TD and ~KLI:dataK=0)')
brw2.resetfrombuffer()
Будет время - напишу маленькую прогу по этому случаю для исследования.
Хотя вопрос с prop filter остался (ради любопытства, ну и дальнейшего использования)
Алексей
BRW2.SetSort(2)
BRW2.SetFilter('(KLI:dataK<=TD and ~KLI:dataK=0)')
brw2.resetfrombuffer()
Будет время - напишу маленькую прогу по этому случаю для исследования.
Хотя вопрос с prop filter остался (ради любопытства, ну и дальнейшего использования)
Алексей
- Admin
- Администратор
- Сообщения: 3959
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 25 раз
- Поблагодарили: 22 раза
- Контактная информация:
Re: Подвисание Browse
тут сортировка отличная от BRW2.SetSort(1) ?Алексей- Софт-Центр писал(а):BRW2.SetSort(2)
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
-
- Ветеран
- Сообщения: 390
- Зарегистрирован: 26 Август 2009, 12:41
- Откуда: Moscow
- Контактная информация:
Re: Подвисание Browse
Да.
Броус имеет 7 табов. У каждого таба свой ключ.
3-ий таб имеет ключ по дате. (В сорте он 2).
Причем эта конструкция работает только на одной закладке (где таб по дате).
Пришлось перед эти давать select(?tab3)
Алексей
Броус имеет 7 табов. У каждого таба свой ключ.
3-ий таб имеет ключ по дате. (В сорте он 2).
Причем эта конструкция работает только на одной закладке (где таб по дате).
Пришлось перед эти давать select(?tab3)
Алексей
- Admin
- Администратор
- Сообщения: 3959
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 25 раз
- Поблагодарили: 22 раза
- Контактная информация:
Re: Подвисание Browse
Ну теперь все понятно...Алексей- Софт-Центр писал(а):3-ий таб имеет ключ по дате. (В сорте он 2).
Как я уже писал:
Короче вывод: правильный ключ использовать... или переделать ключ (добавив дату) или по ключу по дате выборки делать а потом сортировать по "Aditional sort fields" (как то так...)
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
-
- Ветеран
- Сообщения: 390
- Зарегистрирован: 26 Август 2009, 12:41
- Откуда: Moscow
- Контактная информация:
Re: Подвисание Browse
В принципе тема закрыта, но остался вопрос (на будущее)
Алексей
Почему не работает эта конструкция?BRW2::View:Browse{prop:filter}='KLI:dataK>TD or ~KLI:dataK=0 '
brw2.resetfrombuffer()
Алексей