What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal

маленький баг с транслируемыми плагинам&

Status
Not open for further replies.

bossrus

Member
Joined
Aug 14, 2014
Messages
749
Reaction score
0
в транслируемом плагине после выхода из оного содержимое переменных не стирается, и при следующем старте этого плагина они остаются как были.
пример:
Code:
        public void PluginRun()
        {
            SetGroupStatus("test", false);
            new Task(() => { testThread(); }).Start();
            while (!GetGroupStatus("test"))
            {
                Thread.Sleep(500);
            }
            globalBool = true;
            glbl = "ha!";
        }
        private void testThread()
        {
            Log("before "+glbl+globalBool,"test");
            while (!globalBool)
            {
                Thread.Sleep(500);
            }
            Log("after " + glbl + globalBool, "test");
}
при запуске локальной версии плагина в лог будет записано
before False
при нажатии на кнопку test в виджете, строчка "after ..." не добавится. потому что поток убивается до того, как проходит ожидание полусекунды после смены переменной globalBool.
при повторном запуске опять будет строчка
before False

но! при трансляции плагина при первом запуске будет выведено
before False
при нажатии на кнопку test в виджете добавится строчка
after ha!True
а при повторном запуске сразу появится строчка
before ha!True
при нажатии на кнопку test в виджете появится ожидаемая надпись
after ha!True

в общем — нужно сделать очистку глобальных переменных в стрим плагинах. :)
 
Status
Not open for further replies.
Back
Top