Задержка при обновлении полей в таблице

Страницы: 1
RSS
Задержка при обновлении полей в таблице
 
Скрипт формирует несколько таблиц и время от времени обновляет поля в этих таблицах. 3 таблицы обновляются сразу после SetCell, а четвертая с задержкой (или надо мышкой провести над ней или тыкнуть в нее, тогда данные в ней сразу обновляются). В коде обновление по всем таблицам абсолютно одинаковое. В чем может быть засада?
 
Цитата
Александр М написал:
Скрипт формирует несколько таблиц и время от времени обновляет поля в этих таблицах. 3 таблицы обновляются сразу после SetCell, а четвертая с задержкой (или надо мышкой провести над ней или тыкнуть в нее, тогда данные в ней сразу обновляются). В коде обновление по всем таблицам абсолютно одинаковое. В чем может быть засада?
Добрый день.

Для изучения вопроса потребуется полный скрипт на котором воспроизводится проблема,
версия терминала QUIK, а также какая именно таблица обновляется с задержкой.  
 
Цитата
Egor Zaytsev написал:
Цитата
Александр М   написал:
Скрипт формирует несколько таблиц и время от времени обновляет поля в этих таблицах. 3 таблицы обновляются сразу после SetCell, а четвертая с задержкой (или надо мышкой провести над ней или тыкнуть в нее, тогда данные в ней сразу обновляются). В коде обновление по всем таблицам абсолютно одинаковое. В чем может быть засада?
Добрый день.

Для изучения вопроса потребуется полный скрипт на котором воспроизводится проблема,
версия терминала QUIK, а также какая именно таблица обновляется с задержкой.
Скрипт предоставить не могу, это полноценный робот и моя интеллектуальная собственность. Версия QUIK 7.12.1.10, но такое поведение было и в 7.11 как минимум. Напишите хотя бы, в какую сторону в принципе смотреть. Я не начинающий скрипто-писатель, у меня в портфеле куча скриптов и везде проблем с таблицами нету.
 
Цитата
Скрипт предоставить не могу, это полноценный робот и моя интеллектуальная собственность. Версия QUIK 7.12.1.10, но такое поведение было и в 7.11 как минимум. Напишите хотя бы, в какую сторону в принципе смотреть. Я не начинающий скрипто-писатель, у меня в портфеле куча скриптов и везде проблем с таблицами нету.

Каких то точных рекомендаций дать не сможем. Без скрипта что-то рекомендовать сложно.
С подобными проблема не сталкивались.  
 
Egor Zaytsev,

переформулирую заданный вопрос:

1. С какой периодичностью и в каком порядке происходит инвалидация области пользовательской таблицы и вызов обновления отрисовки области экрана, занимаемой таблицей пользователя?
2. Каким образом можно принудительно вызвать визуальное обновление пользовательской таблицы при отражении в терминале?

Очевидно, что функция SetCell() не генерирует внутренне сообщение терминала о необходимости перерисовки тела таблицы. В этом случае, видимо, используется механизм автоматического обновления таблиц, допустим, 1 раз в секунду, вне зависимости от того, изменялось ли ее содержимое посредством SetCell() или нет. Поэтому прошу дать ответы на два вышеуказанных вопроса.
 
Цитата
Александр М написал:
Скрипт предоставить не могу, это полноценный робот и моя интеллектуальная собственность.
есть вариант попробовать вычленить из него проблемный участок кода и прислать только его
 
Цитата
Imersio Arrigo написал:
Цитата
Александр М   написал:
Скрипт предоставить не могу, это полноценный робот и моя интеллектуальная собственность.
есть вариант попробовать вычленить из него проблемный участок кода и прислать только его
В том то и проблема, что "проблемного участка" не вижу, у меня несколько тысяч строк и из разных мест по определенным событиям обновляются определенные поля в таблице. Я уже весь код прошерстил, остальные таблицы обновляются абсолютно по тем же принципам (в этом же коде) и никаких зависаний по другим таблицам нету.
 
Добрый день.

Александр, можете сообщить с какой именно таблицей проблема?
Например таблица "Клиентский портфель" обновляется исходя из заданных настроек.
Пункт меню Система - Настройки - Основные настройки - Торговля клиентский портфель.
Обновлять через....

Если, это не клиентский портфель, то какая именно таблица.
Если есть возможность, то выложите видео данного эффекта.
Опять же без скрипта найти проблему будет сложно.  
 
Цитата
Egor Zaytsev написал:
Добрый день.

Александр, можете сообщить с какой именно таблицей проблема?
Например таблица "Клиентский портфель" обновляется исходя из заданных настроек.
Пункт меню Система - Настройки - Основные настройки - Торговля клиентский портфель.
Обновлять через....

Если, это не клиентский портфель, то какая именно таблица.
Если есть возможность, то выложите видео данного эффекта.
Опять же без скрипта найти проблему будет сложно.
Я имею в виду свои таблицы пользовательские, которые я создал через AllocTable. Никаких ошибок не выдается, скрипт не вылетает и не тормозит, сделки осуществляются, т.е. идет нормальная работа робота, но по 1 таблице только после проведения мышкой над таблицей она сразу показывает актуальные значения во всех полях, т.е. у нее явно буферизуется где-то. Но происходит это только с 1 таблицей из 4-х имеющихся в скрипте.

Может есть какие-то ограничения на число одновременно используемых таблиц или есть команда, которая позволяет насильно обновить данные в таблице по идентификатору?

Непрерывного обновления, которое забивает работу по прорисовке таблицы, я в коде не обнаружил (грешил на это).

Видео попробую сделать, выложу.
 
Цитата
Александр М написал:
Цитата
Egor Zaytsev   написал:
Добрый день.

Александр, можете сообщить с какой именно таблицей проблема?
Например таблица "Клиентский портфель" обновляется исходя из заданных настроек.
Пункт меню Система - Настройки - Основные настройки - Торговля клиентский портфель.
Обновлять через....

Если, это не клиентский портфель, то какая именно таблица.
Если есть возможность, то выложите видео данного эффекта.
Опять же без скрипта найти проблему будет сложно.
Я имею в виду свои таблицы пользовательские, которые я создал через AllocTable. Никаких ошибок не выдается, скрипт не вылетает и не тормозит, сделки осуществляются, т.е. идет нормальная работа робота, но по 1 таблице только после проведения мышкой над таблицей она сразу показывает актуальные значения во всех полях, т.е. у нее явно буферизуется где-то. Но происходит это только с 1 таблицей из 4-х имеющихся в скрипте.

Может есть какие-то ограничения на число одновременно используемых таблиц или есть команда, которая позволяет насильно обновить данные в таблице по идентификатору?

Непрерывного обновления, которое забивает работу по прорисовке таблицы, я в коде не обнаружил (грешил на это).

Видео попробую сделать, выложу.
Добрый день.

Александр, давайте поступим следующим образом.
Можете в таком случае (если не можете выслать полный скрипт) урезать ваш текущий скритп,
т.е убрать все лишнее и оставить тот кусок на котором воспроизводится проблема.
Воспроизведите ее и отправьте нам данный скрипт.  
Страницы: 1
Читают тему
Наверх