ctaty3

Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору KerberX У меня много ф-ций, но покажу на примере одной, ибо суть всё-равно везде одинаковая. Код: -- Выбор кнопки в соответствии с состоянием воспроизведения function Player.SelectButton(sButton) local sBtnOne, sBtnTwo, sBtnThree; if (sButton == BTN_PLAY) then sBtnOne, sBtnTwo, sBtnThree = "RedPlay", "Stop", "Pause"; elseif (sButton == BTN_STOP) then sBtnOne, sBtnTwo, sBtnThree = "Play", "RedStop", "Pause"; elseif (sButton == BTN_PAUSE) then -- Если выбрана кнопка "Стоп", то кнопка "Пауза" недоступна if (Player.GetState() == VIDEO_STOPPED) then Application.ExitScript(); end sBtnOne, sBtnTwo, sBtnThree = "Play", "Stop", "RedPause"; else sBtnOne, sBtnTwo, sBtnThree = "Play", "Stop", "Pause"; end local sPath = "AutoPlay\\State Buttons"; Button.SetProperties("Play", {ButtonFile = sPath.."\\"..sBtnOne..".btn"}); Button.SetProperties("Stop", {ButtonFile = sPath.."\\"..sBtnTwo..".btn"}); Button.SetProperties("Pause", {ButtonFile = sPath.."\\"..sBtnThree..".btn"}); end | Это табличная глобальная ф-ция, но мне пришлось её вставить в событие стр. "On Preload", т.к. она при переносе в глобальные, не работает на стр. как надо. А суть следующая: 1. Запускаю диалог. 2. На стр. запускается таймер перерисовки стр. 3. Всё работает как надо при открытом диалоге, но только если ф-ция размешена в событиях стр (в "OnPreload" или "OnShow"). Если я перенесу её в глобальные, то она будет работать только без открытия диалога, а если открою его, то объекты не будут перерисовываться... Т.е. такое ощущение, что нужно её как-то правильно вызывать из глобальных если это связано с перерисовкой стр. |