Привет!

У нас проблема с подключением прибора 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. Помогите. Спасибо.