Buenos días a todos.
os cuento una cosa que me esta ocurriendo que me parce bastante estaña.
estoy usando Delphi 7 con ComPort Library.
estoy intentando ver datos en Hex para lo que estoy usando.
Código Delphi
[-]
procedure TForm1.ComPortRxChar(Sender: TObject; Count: Integer);
var
Str, Str2: String;
ch : char;
i : integer;
begin
ComPort.ReadStr(Str, Count);
If CheckBox1.Checked = False Then
Begin
Memo.Text := Memo.Text + Str ;
End;
If CheckBox1.Checked = True Then
Begin
for i := 1 to Count do begin
ch := str[i];
Str2 := '{' + IntToHex(ord(ch),2) + '}';
Memo.Text := Memo.Text + Str;
End;
Memo.SelStart := Length(Memo.Lines.Text);
Memo.SelLength := 0;
end;
Bueno en principio todo bien.
el problema empieza cuando me mandan
84 66 01 00 01 00 00 01 01
yo recibo
84 66 01 01 01 01
he perdido los '00'
pero el problema es mayor si en ese momento cierro mi aplicación y abro un visor de externo detecto que tampoco recibo lo '00' y me veo obligado a desconectar el puerto serial (adaptador USB a Serial) y conectarlo nuevamente para poder recibir el paquete integro.
alguien tiene alguna idea o sugerencia.??????
Muchas Gracias.