Thema: Delphi Daten vom Com4 lesen

Einzelnen Beitrag anzeigen

Udo

Registriert seit: 19. Jan 2003
54 Beiträge
 
Delphi 8 Architect
 
#3

Re: Daten vom Com4 lesen

  Alt 14. Jul 2004, 12:48
Scheint ja ne ziemlich schrottige Componente zu sein. *hier müsste der Kotz-Smiley rein*
Du könntest vor dem Connect das Port öffnen, die Parameter setzen und wieder schließen:
Delphi-Quellcode:
procedure TMC4000.Open(PortNr: byte);
var
  DCB: TDCB;
  ComName: string;
  ComHandle: THandle;
begin
  ComName := 'COM' + IntToStr(PortNr);
  ComHandle := CreateFile(PChar(ComName), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, 0, 0);
  if ComHandle <> INVALID_HANDLE_VALUE then
  begin
    GetCommState(ComHandle, DCB);
    // Werte anpassen
    DCB.BaudRate := CBR_19200;
    DCB.Flags := $2005;
    DCB.Parity := NOPARITY;
    DCB.StopBits := 2;
    DCB.ByteSize := 8;
    DCB.XonLim := 50;
    if not SetCommState(ComHandle, DCB) then
      raise ECommError.Create('Could not configure communication device COM'
        + IntToStr(PortNr));
  end
  else
      raise ECommError.Create('Could not open Port COM' + IntToStr(PortNr));
  CloseFile(ComHandle);
end;
Alternative: Selber machen und in einen Thread packen. (ClearCommError, ReadFile)
Wenn Daten da sind nen Event auslösen.


Udo
  Mit Zitat antworten Zitat