Приветствую!
В процессе работы скрипта постоянно открываются новые вкладки, которые нужно сразу закрыть.
Разобрался как это сделать (нашел пример на форуме), но оно не работает в фоне (насколько я понимаю, фоновые процессы не имеют доступа к основному инстансу).
Подскажите пожалуйста, как это можно реализовать иначе?
в фоне выполняется, но табы не закрывает, не может их найти
В процессе работы скрипта постоянно открываются новые вкладки, которые нужно сразу закрыть.
Разобрался как это сделать (нашел пример на форуме), но оно не работает в фоне (насколько я понимаю, фоновые процессы не имеют доступа к основному инстансу).
Подскажите пожалуйста, как это можно реализовать иначе?
C#:
namespace ZennoLab.OwnCode
{
public class CommonCode
{
IZennoPosterProjectModel project;
Instance instance;
public CommonCode(IZennoPosterProjectModel _project, Instance _instance)
{
instance = _instance;
project = _project;
}
public void CloseTabs()
{
Thread thread = new Thread(new ThreadStart(() =>
{
int i = 0;
while (i < 3)
{
project.SendInfoToLog($"проход: {i}"); // эта строка принтится
if (instance != null)
{
Tab[] allTabs = instance.AllTabs;
for (int k = 1; k < allTabs.Length; k++) // без thread.Join(); в этот блок не попадаем
{
allTabs[k].Close();
}
Thread.Sleep(3000);
}
i++;
}
}));
thread.IsBackground = true;
thread.Start();
// thread.Join(); с этой строчкой отрабатывает 1 раз в общем потоке. без нее приходит какой то пустой инстанс
}
}
}
в фоне выполняется, но табы не закрывает, не может их найти
Последнее редактирование: