Bist Du sicher, dass Die richtigen Codes gesandt werden? Wenn ich das richtig verstehe steht das "m" in der Dokumentation für den Pin, an den das Signal geschickt werden soll.
Auserdem würde ich das "SerialOpen" & "SerialStop" mit try...finally absichern.
Demnach:
Delphi-Quellcode:
function KasseOeffnen: Boolean;
begin
Result := False;
try
if SerialOpen(FSerialConn) = SER_OK then
try
Result := (SerialXmit(FSerialConn, #27) = SER_OK);
Result := Result and (SerialXmit(FSerialConn, #112) = SER_OK);
Result := Result and (SerialXmit(FSerialConn, #2) = SER_OK); // <- Hier nicht #0 sondern #2 (Pin 2) senden
Result := Result and (SerialXmit(FSerialConn, #48) = SER_OK);
Result := Result and (SerialXmit(FSerialConn, #255) = SER_OK);
finally
SerialStop(FSerialConn);
end; {IF}
except
Result := False;
end; {TRY}
end;