|     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
           |  Пора уже=) |   |  
 Интернет-форум Краснодарского края и Краснодара |