К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Не работает метод потока на C#

Гость
0 - 28.01.2012 - 12:42
Помогите пожалуйста!!! В приведенном потоке метод void ReadDevice_Thread(object handle) отрабатывает всего один раз, а должен работать постоянно. У кого какие соображения по этому поводу?
namespace TestUSBDrv
**
class ThreadClass
**
[DllImport("kernel32.dll", SetLastError = true)]
static extern bool ReadFile(IntPtr hFile, [Out] byte[] lpBuffer, uint nNumberOfBytesToRead, out uint lpNumberOfBytesRead, IntPtr lpOverlapped);
public void Create_Start_Thread(object handle1)
**
Thread thread = new Thread(ReadDevice_Thread);
thread.Name = "ReadThread";
thread.Priority = ThreadPriority.Normal;

thread.Start(handle1);//передача параметра в поток
**

void ReadDevice_Thread(object handle)//Метод потока, передаем параметр
**
uint BytesRead = 0;
uint InputReportByteLength;


InputReportByteLength = 8;
byte[] BufBytes = new byte[InputReportByteLength];
if (ReadFile((IntPtr)handle, BufBytes, InputReportByteLength, out BytesRead, IntPtr.Zero))
**
byte[] OutBytes = new byte[BytesRead];
Array.Copy(BufBytes, OutBytes, BytesRead);
**

**
**
**



Гость
1 - 28.01.2012 - 12:59
while(...)****, do{**while(...)
Гость
2 - 28.01.2012 - 13:21
функцию для чтения нужно зациклить, с проверкой того что поток решили завершить, ну так обычно делается в Delphi если функцию не зацикливать то она и выполнится всего 1 раз и все. В C# думаю должно быть нечто подобное.
ps Вроде же в C# есть стандартный компонент для работы с COM портом, так нафига городить огород или он как то не стабильно работает?
Гость
3 - 28.01.2012 - 17:25
Спасибо за помощь.Тема закрыта.
Гость
4 - 04.03.2015 - 07:49
Пора уже=)


К списку вопросов






Copyright ©, Все права защищены