satyagrahi_2010 Ответов: 2

STAThreadAttribute


Привет всем,
Я хочу открыть окно SaveFileDialog. Но я получаю ошибку :

Текущий поток должен быть установлен в режим single thread apartment (STA), прежде чем можно будет выполнять вызовы OLE. Убедитесь, что ваша основная функция помечена атрибутом STAThreadAttribute. Это исключение возникает только в том случае, если к процессу присоединен отладчик.

Я разрабатываю проект с использованием WPF и VS2010. Разработан пользовательский интерфейс с использованием WPF. На уровне менеджера я попытался открыть окно SaveFileDialog.
Я попытался установить атрибуты [STAThreadAttribute] и [STAThread], но мне не удалось реализовать это.

Khaniya

где вы установили [STAThreadAttribute] и [STAThread]
?????

2 Ответов

Рейтинг:
13

Mouadh TRABELSI

Я столкнулся с той же проблемой, чтобы вызвать COM-объект

то , что я сделал, - это сделал нить с одной нитью. ,

и делать то, что я должен

Thread staThread = new Thread(new ThreadStart (myMethod));
staThread.ApartmentState = ApartmentState.STA;
staThread.Start();

public static void myMethod()
{
    //Call COM Object
}


Dalek Dave

Хороший Звонок

Рейтинг:
1

Andy Bantly

// Do this
class Program
{
    [STAThreadAttribute]
    static void Main(string[] args)
    {
    }
}