Render.ru

updateToolbarButtons убивает Макс

McST

Знаток
Рейтинг
28
#1
пытаюсь сделать проверку на кнопку
чтоб при определенных условиях в сцене она становилась либо нажатой, либо отжатой

в старых максах вроде работало в новом(2009) почему-то стало нужно обновлять тулбар кликом по сцене или еще по чему

нашел команду updateToolbarButtons()
но при попытке выполнить эту процедуру падает макс

Код:
On isChecked do
(
check()
updateToolbarButtons()
)
где check() - операция выполняющая определенную проверку и выдающая True или False в зависимости от результата

если кто знает решение, подскажите плз че не так делаю?
 

Savin Denis

Модератор форума
Команда форума
Рейтинг
138
#2
пытаюсь сделать проверку на кнопку
чтоб при определенных условиях в сцене она становилась либо нажатой, либо отжатой
Нужно отловить этот момент, если он в твоем коде то просто вызывай от туда updateToolbarButtons(), если нет то повесь нужный callbaсk.

в старых максах вроде работало в новом(2009) почему-то стало нужно обновлять тулбар кликом по сцене или еще по чему
Оптимизировали лишние обновления, тормозили интерфейс.

нашел команду updateToolbarButtons()
но при попытке выполнить эту процедуру падает макс
Ну так ктоже ее вызывает из функции которую она проверяет ? Из любого другого места пожалуйста, Из тела Execut, из callbak, при закрытии диалога, ...

И check() у тебя должен обязательно быть последней командой в On isChecked do, чтобы передал свой результат. Аналогично return check()
 

McST

Знаток
Рейтинг
28
#3
Ну так ктоже ее вызывает из функции которую она проверяет ? Из любого другого места пожалуйста, Из тела Execut, из callbak, при закрытии диалога,
ну вот например, хочу чтоб кнопка становилась нажатой в тулбаре, когда выделеяется какой-то объект или ставится определенная галка в определенном месте.

у колбаков вроде бы там ограниченное количество проверок, или нет?
 

Savin Denis

Модератор форума
Команда форума
Рейтинг
138
#4
1) есть callback на селекшен
По поводу галок нужно более конкретно знать что за параметр обновляется и от этого плясать.
Можно тупо повесить проверку на таймер или обновление вьюпорта, но это не очень красиво. Не стоит перегружать систему такими событиями. Хотя если с большим интервалом 2-4с.
Уж лучше на тот же самый селекшен вешать.
2) нет
 
Сверху