Не добился ответа с , может так смогу обратить внимание разработчиков?
После использования SetLabelParams метку не возможно сдвинуть с мета вручную. В докуметации об этом ни слова. Поясните, каким образом можно обойти этот баг? Или,если это не баг, то как правильно задавать новые параметры метки, чтобы ручная перестановка на графике сохранилась?
Пользователь
Сообщений: Регистрация: 23.01.2015
01.10.2015 15:32:39
Цитата
Viktor MMM пишет: Не добился ответа с , может так смогу обратить внимание разработчиков?
После использования SetLabelParams метку не возможно сдвинуть с мета вручную. В докуметации об этом ни слова. Поясните, каким образом можно обойти этот баг? Или,если это не баг, то как правильно задавать новые параметры метки, чтобы ручная перестановка на графике сохранилась?
Здравствуйте, Приведите пример кода и сообщите версию терминала
Пользователь
Сообщений: Регистрация: 04.03.2015
01.10.2015 15:39:16
версия 6,17,1,17
часть скрипта:
Код
_log(COMMENT_ALL..LOG_TABULATOR.."Set Изменение текста метки № "..tostring(Q).."("..tostring(LABELNUMTEXT[Q])..") прошло "..tostring(SetLabelParams(GRAPH_ID,LABELNUMTEXT[Q],LabelText[Q])))
При этом метка меняется. Например цвет, прозрачность, или файл метки - все отрабатывает. Зацикливания нет, скрипт дальше работает. На эране несколько меток. И если они были расставлены черз AddLabel, их можно двигать. А если над одной из меток поработал SetLabelParams - все. двигать не могу руками.
Весь скрипт не могу выложить. Если требуются уточнения, говорите, выложу части.
function _SetLab(par1)
local Q = par1
_ScreenTable = {}
_ScreenTable = _GetScreenArray(t_id)
_log(COMMENT_ALL..LOG_TABULATOR.."Текущая строка = ".._ScreenTable[Q][1]..";".._ScreenTable[Q][2]..";".._ScreenTable[Q][3]..";".._ScreenTable[Q][4]..";".._ScreenTable[Q][5])
if _ScreenTable[Q][OPERATION_STOLB+1] == TEXT_DIRECTION_1 and _ScreenTable[Q][STATUS_STOLB+1] == TEXT_COMMAND_2 then
_log(COMMENT_ALL..LOG_TABULATOR.." Set Текущая метка Green")
LabelLine[Q]["IMAGE_PATH"] = pathGREEN
end
if _ScreenTable[Q][OPERATION_STOLB+1] == TEXT_DIRECTION_2 and _ScreenTable[Q][STATUS_STOLB+1] == TEXT_COMMAND_2 then
LabelLine[Q]["IMAGE_PATH"] = pathRED
_log(COMMENT_ALL..LOG_TABULATOR.."Set Текущая метка RED")
end
LabelText[Q]["TRANSPARENCY"] = 0
_log(COMMENT_ALL..LOG_TABULATOR.."Set Изменение метки № "..tostring(Q).."("..tostring(LABELNUMLINE[Q])..") прошло "..tostring(SetLabelParams(GRAPH_ID,LABELNUMLINE[Q],LabelLine[Q])))
_log(COMMENT_ALL..LOG_TABULATOR.."Set Изменение текста метки № "..tostring(Q).."("..tostring(LABELNUMTEXT[Q])..") прошло "..tostring(SetLabelParams(GRAPH_ID,LABELNUMTEXT[Q],LabelText[Q])))
end
_GetScreenArray(t_id) создает массив из таблицы если метка зеленая, то в массиве меток
Код
LabelLine[Q]["IMAGE_PATH"] = pathGREEN
устанавливается новое значение. Остальное остается как есть. Далее SetLabelParams срабатывает и я на графике вижу, что эта метка изменила вид. Но двигать её я больше не могу.
Надеюсь, стало яснее.
Пользователь
Сообщений: Регистрация: 04.03.2015
01.10.2015 16:09:44
Или давайте тестовый напишу срипт, если не знакомы с проблемой..
Пользователь
Сообщений: Регистрация: 23.01.2015
01.10.2015 16:12:44
Здравствуйте! Информация получена, проблема изучается. Постараемся в ближайшее время дать ответ.
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
01.10.2015 16:15:25
Цитата
Viktor MMM пишет: После использования SetLabelParams метку не возможно сдвинуть с мета вручную.
В принципе, этой информации уже достаточно для воспроизведения проблемы. Далее пишем простенький код:
и убеждаемся, что метку переместить вручную уже нельзя.
Надо делать так, как надо. А как не надо - делать не надо.
Пользователь
Сообщений: Регистрация: 04.03.2015
01.10.2015 16:34:54
Спасибо, буду ждать ответа.
Есть еще вопрос. Как-нибудь можно перехватить скриптом удаление метки вручную?
Пользователь
Сообщений: Регистрация: 23.01.2015
01.10.2015 16:48:21
Если до этого метка была создана скриптом, можно проверить наличие метки функцией GetLabelParams
Пользователь
Сообщений: Регистрация: 04.03.2015
01.10.2015 16:49:44
Ок, спасибо. Поэкспериментирую.
Пользователь
Сообщений: Регистрация: 04.03.2015
02.10.2015 19:28:03
с определением разобрался. Если метку удалить, то её номер сохраняется в системе, но значения полей в таблице - nil. По ним и можно выяснить наличие метки. Надеюсь, что в ближ. время ответите по основному вопросу ветки.
Пользователь
Сообщений: Регистрация: 30.01.2015
04.10.2015 12:25:51
Sergey Gorokhov,
добрый день, проблема обозначена выше - после применения функции SetLabelParams метка больше не поддается ручному перемещению. Ждем Вашего комментария - "фиксим баг и исправляем" или "так и было задумано"?
добрый день, проблема обозначена выше - после применения функции SetLabelParams метка больше не поддается ручному перемещению. Ждем Вашего комментария - "фиксим баг и исправляем" или "так и было задумано"?
добрый день, проблема обозначена выше - после применения функции SetLabelParams метка больше не поддается ручному перемещению. Ждем Вашего комментария - "фиксим баг и исправляем" или "так и было задумано"?
Здравствуйте, Ответа пока нет.
Сергей, день добрый, если такая проблема действительно выявится и будет решаться, есть пожелание: Добавить меткам контрол HandleMoving регулирующий разрешение на ручное перемещение, а функции SetLabelParams необязательный аргумент для передачи в этот контрол булев значение, по-умолчанию true.
Пользователь
Сообщений: Регистрация: 23.01.2015
05.10.2015 10:07:45
Цитата
green_X5 пишет: Добавить меткам контрол HandleMoving регулирующий разрешение на ручное перемещение, а функции SetLabelParams необязательный аргумент для передачи в этот контрол булев значение, по-умолчанию true.
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
и убеждаемся, что метку переместить вручную уже нельзя.
Обратил внимание, что если после SetLabelParams в настройках метки снять привязку ко времени и цене, то метку можно двигать вручную. Может, это имеет отношение к обсуждаемой проблеме.
Надо делать так, как надо. А как не надо - делать не надо.
Пользователь
Сообщений: Регистрация: 04.03.2015
05.10.2015 16:09:40
Как это, снять привязку? У меня в таблице меняются значения, потом вся эта таблица перезаписывается в метку через SetLabelParams.
Вручную снять галки в настройках метки. Но не думаю, что это - то, что вам нужно: после снятия привязки метка будет смещаться относительно осей при масштабировании.
Надо делать так, как надо. А как не надо - делать не надо.
Пользователь
Сообщений: Регистрация: 04.03.2015
05.10.2015 16:41:34
ну да, не подойдет, к сожалению.
Пользователь
Сообщений: Регистрация: 23.01.2015
06.10.2015 16:48:21
Цитата
Viktor MMM пишет: ПОЛНЫЙ.. У меня конечно в функциях все.
вот например одна из них:
Код
function _SetLab(par1)
local Q = par1
_ScreenTable = {}
_ScreenTable = _GetScreenArray(t_id)
_log(COMMENT_ALL..LOG_TABULATOR.."Текущая строка = ".._ScreenTable[Q][1]..";".._ScreenTable[Q][2]..";".._ScreenTable[Q][3]..";".._ScreenTable[Q][4]..";".._ScreenTable[Q][5])
if _ScreenTable[Q][OPERATION_STOLB+1] == TEXT_DIRECTION_1 and _ScreenTable[Q][STATUS_STOLB+1] == TEXT_COMMAND_2 then
_log(COMMENT_ALL..LOG_TABULATOR.." Set Текущая метка Green")
LabelLine[Q]["IMAGE_PATH"] = pathGREEN
end
if _ScreenTable[Q][OPERATION_STOLB+1] == TEXT_DIRECTION_2 and _ScreenTable[Q][STATUS_STOLB+1] == TEXT_COMMAND_2 then
LabelLine[Q]["IMAGE_PATH"] = pathRED
_log(COMMENT_ALL..LOG_TABULATOR.."Set Текущая метка RED")
end
LabelText[Q]["TRANSPARENCY"] = 0
_log(COMMENT_ALL..LOG_TABULATOR.."Set Изменение метки № "..tostring(Q).."("..tostring(LABELNUMLINE[Q])..") прошло "..tostring(SetLabelParams(GRAPH_ID,LABELNUMLINE[Q],LabelLine[Q])))
_log(COMMENT_ALL..LOG_TABULATOR.."Set Изменение текста метки № "..tostring(Q).."("..tostring(LABELNUMTEXT[Q])..") прошло "..tostring(SetLabelParams(GRAPH_ID,LABELNUMTEXT[Q],LabelText[Q])))
end
_GetScreenArray(t_id) создает массив из таблицы если метка зеленая, то в массиве меток
Код
LabelLine[Q]["IMAGE_PATH"] = pathGREEN
устанавливается новое значение. Остальное остается как есть. Далее SetLabelParams срабатывает и я на графике вижу, что эта метка изменила вид. Но двигать её я больше не могу.
Надеюсь, стало яснее.
Добрый день,
Описанная поблема с метками будет исправлена в одной из очередных версий программы. Приносим извинения за причиненные неудобства.
добрый день, проблема обозначена выше - после применения функции SetLabelParams метка больше не поддается ручному перемещению. Ждем Вашего комментария - "фиксим баг и исправляем" или "так и было задумано"?
Здравствуйте, Ответа пока нет.
Сергей, день добрый, если такая проблема действительно выявится и будет решаться, есть пожелание: Добавить меткам контрол HandleMoving регулирующий разрешение на ручное перемещение, а функции SetLabelParams необязательный аргумент для передачи в этот контрол булев значение, по-умолчанию true.
Добрый день,
Мы рассмотрели Ваше пожелание. По итогам его анализа сообщаем Вам, что реализация пожелания признана потенциально целесообразной. Если по результатам дальнейшего анализа, включающего юридические аспекты, анализ на непротиворечивость с общей политикой компании, никаких возражений не возникнет, мы постараемся включить Ваше пожелание в план доработок при выпуске одной из следующих версий нашего ПО.
Maksim Grudtsyn
Гость
15.02.2016 21:08:51
Цитата
Sergey Gorokhov написал: Здравствуйте! Информация получена, проблема изучается. Постараемся в ближайшее время дать ответ.
Добрый день. Описанная в проблема была исправлена в версии 7.1.0 терминала QUIK. Приносим извинения за причиненные неудобства.