Антонио (Автор тем)

Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Падение QUIK с General Protection Fault, DestroyTable() и Clear() при вызове из функции обратного вызова для обработки событий в таблице
 
Обнаружил ситуацию, которая изредка приводит к аварийному завершению Квика.

Стояла задача: при клике по строке таблицы-1 требуется таблицу-1 закрыть, а вместо неё открыть новую таблицу-2 (например, провалиться глубже по дереву).
Хоть это мне сразу и показалось не очень красиво, но попробовал сделать эти действия прямо из коллбэка Таблицы-1.
В нём вызывается DestroyTable(1) и создаётся CreateWindow(2)
Написал, потестировал - работает.
Но работает не на 100% хорошо. Через пол-года обнаружилось, что изредка, примерно в 1-2% случаях Квик падает.

(см. рис)


Долго искал, в чём причина.
Решил, что дело в том, что в каких-то редких случаях коллбэк после отработки пытается зачем-то вернуться к своей родительской таблице, которую он сам же только-что уничтожил.
Переписал скрипт так, что коллбэк только создаёт новую таблицу-2, а для старой таблицы-1 делается пометка, по которой уже после отработки коллбэка в основном цикле уничтожается происходит  DestroyTable(1).
Теперь ошибка не проявляется.

Также плохо иногда может заканчиваться вызов из коллбэка  функции Clear(1) для родительской таблицы.

Наверное, если я прав, имеет смысл в документации указать, что не надо из коллбэка вызывать DestroyTable()  и  Clear()  
Аварийное завершение работы Квик 7.1.2.2 при попытке заменить инструмент на графике
 
Добрый день!
В Финаме в данный момент подключена версия 7.1.2.2. Более новые версии они пока тестируют.
Проблема такова. Есть график по опциону, который давно истёк.
Хочу я в этом графике Заменить инструмент с истекшего, на какой-нибудь рабочий.
Правый клик мыши по Легенде -  и Квик стабильно подвисает.
См. рис   http://joxi.ru/4AkeQLGCMGP3Ym
В новой версии 7.1.2.2 при копировании заявки из таблицы Заявки не копируется флаг ПЕРЕНОСИТЬ ЗАЯВКУ и сама ДАТА
 
Добрый день!
До последних обновлений при вводе новой заявки на основании уже имеющейся в таблице Заявки или из стакана при клике по "своей"  заявке  открываемое окно ввода новой заявки автозаполнялось всеми значениями из исходной заявки.
В новой же версии независимо от того: установлена ли в исходной заявке галочка  ПЕРЕНОСИТЬ ЗАЯВКУ или нет - в окно ввода заявки эта галочка не попадает.
Это баг или фича?
В стандартных настройках  ничего по этому вопросу не нашёл.
Очень прошу вернуть поведение копирования заявки к тому, как было всегда.
Длина поля brokerref в таблице ЗАЯВКИ, Превышен размер поля ввода
 
Увлекся длинными содержательными комментариями при выставлении заявок и получил ответ от Сервера:
Неправильно указано значение для поля "Комментарий" - [Превышен размер поля ввода]

Можно, конечно, экспериментально найти максимальную длину поля brokerref.
Но хотелось бы узнать это из первых уст.

И почему бы не указать это в документации:

Описание параметров Таблицы заявок:
Параметр         Тип Описание
order_num NUMBER     Номер заявки в торговой системе
flags                  NUMBER     Набор битовых флагов
brokerref           STRING       Комментарий, обычно: <код клиента>/<номер поручения>
Статус торговой сессии в версии 7, Ошибка статуса
 
Сегодня с утра в версиях Квика 6 и 7 по-разному отображаются статус торговой сессии для инструментов срочного рынка, например RIZ5
Это версия 6





А это в то же время версия 7




В версии 6 статус Торгуется, а в версии 7 статус Приостановлена.
Соответственно, скрипт в версии 7 не работает, т.к. ему видится, что сессия по фьючерсу сейчас не идёт.

Брокер ФИНАМ
Или это вопрос к брокеру?
Неожиданное поведение функции find(), Функция find() не находит строку в самой себе
 
Вопрос не по Квику, а по QLUA

Столкнулся с таким фактом, что Функция find() не находит строку в самой себе
Мой пример:


Код
         k="Строка-Демо"
         while k:len()>1 do
            t=k:find(k)
            ToLog("Поиск подстроки "..k.." в самой себе даёт "..tostring(t))
            k=k:sub(1,-2)
         end     
Получаем:
Код
 Поиск подстроки Строка-Демо в самой себе даёт nil 
 Поиск подстроки Строка-Дем в самой себе даёт nil 
 Поиск подстроки Строка-Де в самой себе даёт nil 
 Поиск подстроки Строка-Д в самой себе даёт nil 
 Поиск подстроки Строка- в самой себе даёт 1 
 Поиск подстроки Строка в самой себе даёт 1 
 Поиск подстроки Строк в самой себе даёт 1 
 Поиск подстроки Стро в самой себе даёт 1 
 Поиск подстроки Стр в самой себе даёт 1 
 Поиск подстроки Ст в самой себе даёт 1 

Заменим Строка-Демо на Строка-Лом


Код
Поиск подстроки Строка-Лом в самой себе даёт nil;
Поиск подстроки Строка-Ло в самой себе даёт nil;
Поиск подстроки Строка-Л в самой себе даёт nil;
Поиск подстроки Строка- в самой себе даёт 1;
Поиск подстроки Строка в самой себе даёт 1;
Поиск подстроки Строк в самой себе даёт 1;

Смотрю в документацию по find():  
-- Ищет вхождение подстроки в строку и возвращает индекс начала вхождения, или nil, если совпадение не найдено
-- В строке поиска можно использовать регулярные выражения

Получается, что если в моей строке содержится "-" и далее символ, то это рассматривается как регулярное выражение?
Если да, то как использовать find() или что-то вместо неё, чтобы подстрока интерпретировалась как подстрока, а не рег.выражение?
QUIK версия 7.0.1.5 Предложения, Предложения по неудобствам нового меню версии 7.
 
Добрый день!
При работе со скриптами в Квике с несколькими вкладками есть неудобство.
Если открытие скрипта происходит прямо при старте программы автоматически, а не руками запуском из Доступных скриптов, то окно скрипта открывается сразу на всех, а не на одной вкладке.
Это иногда неудобно, и приходится по-новой чётко  задавать на какой одной вкладке окно скрипта отображать.
До версии 7 это можно было делать правым кликом мыши по окну и открывался единственный пункт контекстного меню "Переместить на вкладку"
В седьмой версии контекстного меню нет вообще, поэтому приходится делать гораздо больше действий: Окна   --- Переместить окно на вкладку  --- Клик по вкладке.
Когда окон разных скриптов открыто много (у меня, например, их шесть), то процедура утомительна.
Поэтому предложения:
1. Как минимум: вернуть контекстное меню на окна скриптов с пунктом "переместить на вкладку"
2. И/ИЛИ для пункта меню  Окна   --- Переместить окно на вкладку  назначить Горячую клавишу
3. Для полного блеска нужно, чтобы открываемое при старте Квика окно скрипта открывалось в той вкладке, где оно было в последний раз, а не на всех вкладках.
Страницы: 1
Наверх