FreePascal (FPC) a Lazarus > Obecné

COM PORT větší než 9

(1/1)

JindraHavel:
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: ---if ComNr > 9 then
  ComPortName:= Format('\\\\.\\COM%d', [ComNr])
else
  ComPortName:= Format('COM%d', [ComNr]);

serialhandle := SerOpen(ComPortName);
--- Konec kódu ---

KarelHorky:
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: ---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;

--- Konec kódu ---

Navigace

[0] Seznam témat

Přejít na plnou verzi