Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Вызов запуска потоков


Автор: agealex 30.9.2007, 20:31
Есть три класса (назовем их А ,В, С) , у каждого свой namespace  и каждый находится в своем .cs  файле . инициализируется 
Класс А включает класс В, Класс С включает в себя класс А.
Приложение запускается из класса А, как запустить поток находящийся в Классе С?
Код

Класс С
 ...
 public void ManagerRecv()
        {
            Thread tRecv = new Thread(this.ThreadRecv);
            tRecv.Start();
        }

        public void ThreadRecv() //поток
        {....


При попутки включить вызово в другие классы возникает ошибка(нет такой функции по адрессу, а также  no simbols are loaded to any call stack )При обращение к классу В возникает ошибка(TypeLoadExeption)
Видимо я что то не понимаю обьясните пожалуйста smile 

Автор: bend0r 1.10.2007, 09:58
если правильно понел то так:
Код

namespace A
{
    class A
    {
        public void startThreadClassC()
        {
            C.C c = new C.C();
            c.ManagerRecv();
            
        }
    }
}

Код

namespace C
{
    class C
    {
        public void ManagerRecv()
        {
            Thread tRecv = new Thread(this.ThreadRecv);
            tRecv.Start();
        }
        public void ThreadRecv() //поток
        {
            Console.WriteLine("class C");
        }
    }
}

чтобы каждый раз не указывать пространство имен можно указать в обьевлениях using.

Автор: agealex 1.10.2007, 13:43
Не ,разобрался ,проблема связана с парамаетром [MTAThread] .
Поток опрашивает длл ,напинаснную на с++, и работает такая фигня толька с параметром [STAThread] .
Но дело в том что такой параметр не поддерживается SMART DEVICE  aplication  вот и думаю как запустить такой поток из шарпа.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)