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