Привет!
У нас проблема с подключением прибора Owen TRM202 через потоки
вот исходный текст
Нам в потоке приходится постоянно открывать порт в следствии этого загружется машина. Вариант с таймером не подходитьКод:unit ThRead1; interface uses Classes,TIOOwenLib,Math,SysUtils,Windows; type TReadTEM1 = class(TThread) private { Private declarations } protected function InitLib:Boolean; procedure Execute; override; function AOpenPort:Boolean; end; var S:Single; Opened:Boolean=False; implementation uses Unit1; { Important: Methods and properties of objects in visual components can only be used in a method called using Synchronize, for example, Synchronize(UpdateCaption); and UpdateCaption could look like, procedure TReadTEM1.UpdateCaption; begin Form1.Caption := 'Updated in a thread'; end; } { TReadTEM1 } function TReadTEM1.AOpenPort: Boolean; begin Result:=False; if(OpenPort(0,2,0,1,0,0)<0) then begin // MessageDlg('Error open port!!!',mtError,[mbOK],0); Exit; end; Result:=True; end; procedure TReadTEM1.Execute; begin { Place thread code here } if not Opened then if(OpenPort(0,2,0,1,0,0)<0) then begin Exit; end else Opened:=True; res:=ReadFloat24(26,0,'Pv',S,-1); if res>=0 then frmMain.RzLEDDisplay1.Caption:=FloatToStr(RoundTo(S,-2)) else frmMain.RzLEDDisplay1.Caption:='ERROR'; end;![]()
PS. Одна программа должна считывать данные с 10 приборов в режиме
OnLine. Помогите. Спасибо.


Ответить с цитированием