Autor Téma: COM PORT větší než 9  (Přečteno 1287 krát)

Offline JindraHavel

  • Nováček
  • *
  • Příspěvků: 3
  • Karma: 0
    • Verze Delphi: 5
COM PORT větší než 9
« kdy: 28-01-2021, 05:53:22 »
Jak se prosím ve WIN7/10 pripojit ke COM portům, které jsou větší než 9? Používám Lazarus, s "jednocifernými" porty žádný problém není...

Kód níže mi bohužel nefunguje - serialhandle je (pro porty nad 9) stále 0.
Kód: [Vybrat]
if ComNr > 9 then
  ComPortName:= Format('\\\\.\\COM%d', [ComNr])
else
  ComPortName:= Format('COM%d', [ComNr]);

serialhandle := SerOpen(ComPortName);

Offline KarelHorky

  • Hrdina
  • ****
  • Příspěvků: 299
  • Karma: 10
    • Verze Delphi: XE6, Delphi 10.2 Tokyo
Re:COM PORT větší než 9
« Odpověď #1 kdy: 28-01-2021, 09:00:19 »
Mám vyzkoušeno jen v Delphi, ale i pro FPC by měl fungovat SYNASER. A určitě používáme čísla COM portů vyšší než 9.
Takový nástin, je to vykouslé z objektu:
Kód: [Vybrat]
uses synaser;
Ser:TBlockSerial;
begin
  Result := False;
  Port := 'COM'+IntToStr(KFG.Zamky.Port);
  Ser.RaiseExcept:=False;
  Ser.Connect(Port);
  if (Ser.LastError = 0) then begin
    Ser.Config(Rychlost, Bitu, Parita, sb, False, False);
    Result := True;
  end
  else begin
    FRM.Zprava(Self, mtChyba, [tlOK], tlOK, _('Chyba při otevírání portu ')+Port,
      '('+IntToStr(Ser.LastError)+') '+Ser.GetErrorDesc(Ser.LastError));
  end;
end;
Win10 Prof 64b, Firebird 2.5