bossrus
Member
- Joined
- Aug 14, 2014
- Messages
- 749
- Reaction score
- 0
в транслируемом плагине после выхода из оного содержимое переменных не стирается, и при следующем старте этого плагина они остаются как были.
пример:
}
при запуске локальной версии плагина в лог будет записано
before False
при нажатии на кнопку test в виджете, строчка "after ..." не добавится. потому что поток убивается до того, как проходит ожидание полусекунды после смены переменной globalBool.
при повторном запуске опять будет строчка
before False
но! при трансляции плагина при первом запуске будет выведено
before False
при нажатии на кнопку test в виджете добавится строчка
after ha!True
а при повторном запуске сразу появится строчка
before ha!True
при нажатии на кнопку test в виджете появится ожидаемая надпись
after ha!True
в общем — нужно сделать очистку глобальных переменных в стрим плагинах.
пример:
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
в общем — нужно сделать очистку глобальных переменных в стрим плагинах.
