Hallo Alex,
die Prozedur SendString() erwartet eine implizite Längenangabe für den Buffer. Diese ist nur gegeben, wenn du PChar(String) übergibst, nicht bei PChar(Char). Also versuche es so:
Delphi-Quellcode:
procedure TCOMThread.SendData(Speicherpos : integer; Data : Char);
var
TempChar : String;
begin
// ...
TempChar := Data;
COMPort.SendString(PChar(TempChar));
end;
Grüße vom marabu