Attid писал(а):поставь вместо {$mode objfpc} - {$mode delphi}
Теперь вобще едентично....
Attid писал(а):и пока без потоков не проверишь
Я не ахти какой программист, уже писал об этом. Поэтому вопрос:
Как организовать опрос состояния без потоков?
Модератор: Модераторы
Attid писал(а):поставь вместо {$mode objfpc} - {$mode delphi}
Attid писал(а):и пока без потоков не проверишь

procedure TForm1.Start1Click(Sender: TObject);
begin
  if Start1.Checked then
  begin
     ser1:=TBlockserial.Create;
     if ser1.InstanceActive then Memo1.Lines.Add('1-1True') else Memo1.Lines.Add('1-1False');
     ser1.Connect(Form1.NamePort1.Text);
     Memo1.Lines.Add(IntToStr(ser1.LastError)+'-'+ser1.LastErrorDesc);
     if ser1.LastError<>0 then
     begin
       Start1.Checked:=False;
     Exit;
     end;
     ser1.Config(115200,8,'N',0,false,false);
     if ser1.InstanceActive then Memo1.Lines.Add('1-2True') else Memo1.Lines.Add('1-2False');
     Memo1.Lines.Add('открыт порт - '+ser1.Device);
     //--------------------------------
     ser1.Free;
     ser2:=TBlockserial.Create;
     if ser2.InstanceActive then Form1.Memo1.Lines.Add('2-1True') else Form1.Memo1.Lines.Add('2-1False');
    ser2.RaiseExcept:=true;
     ser2.Connect(Form1.NamePort2.Text);
     Form1.Memo1.Lines.Add(IntToStr(ser2.LastError)+'-'+ser2.LastErrorDesc);
     ser2.EnableRTSToggle(true);
     ser2.Config(115200,8,'N',0,false,false);
     if ser2.InstanceActive then Form1.Memo1.Lines.Add('2-2True') else Form1.Memo1.Lines.Add('2-2False');
     Form1.Memo1.Lines.Add('открыт порт - '+ser2.Device);
     repeat
     if ser2.CTS then Form1.CTS2.Color:=clteal else Form1.CTS2.Color:=clcream ;
     if ser2.DSR then Form1.DSR2.Color:=clteal else Form1.DSR2.Color:=clcream ;
     if Form1.P2.Color<>clLime then Form1.P2.Color:=clLime else Form1.P2.Color:=clRed ;
    Application.progressMessage;
     sleep(50);
     until Form1.Start2.Checked=False;
     Form1.Memo1.Lines.Add(IntToStr(ser2.LastError)+'-'+ser2.LastErrorDesc);
     ser2.Free;
     if ser2.InstanceActive then Form1.Memo1.Lines.Add('2-3True') else Form1.Memo1.Lines.Add('2-3False'); 
     //---------------------------------
  end
  else
  begin
     ser1.Free;
     Memo1.Lines.Add(IntToStr(ser1.LastError)+'-'+ser1.LastErrorDesc);
     if ser1.InstanceActive then Memo1.Lines.Add('1-3True') else Memo1.Lines.Add('1-3False');
     Memo1.Lines.Add(IntToStr(ser1.LastError)+'-'+ser1.LastErrorDesc);
  end;
     
end; 
 
 
This project is the conversion of the Comport Package of dejancrn and dybdahl, for lazarus pascal project. It just work on windows but in the future, I traduce it to work under lazarus for linux.


Attid писал(а):чем тебя TBlockserial не устроил ?
 
 
 , а вобще устраивает.
 , а вобще устраивает.
 .
 .


Attid писал(а):мне казалось в начале топика ты что-то под линукс говорил, а он тебе в этом не поможет.
Operating System: All 32-bit MS Windows (95/98/NT/2000/XP), Linux


dionic писал(а):Привет народ! А никто не подскажет вот по такому вопросу. Как работать с com портом при помощи synaser я вроде разобрался. Сначала попробовал под win, а затем под linux. А как мне устройсво ,например, счетчик э\э через оптопорт прикрепить к com -порту=) под linux? Мне дрова под него нужны или что вообще?
ls /dev/ttyUSB*
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1