Ich habe auch so das selbe Problem und zwar das er mit dem ersten gesendeten Byte aus dem Redboot rausspringt und den Versuch abbricht. Das bringt mich in der Hinsicht trotzdem nicht weiter. Eine weiter Möglichkeit für mich wäre. Das ich die Daten direkt mit SendData(Pointer, DataSize) an den ComPort schicke das funktioniert aber auch nicht so wie es sein soll.
Diese Routine sieht dann so aus:
Delphi-Quellcode:
AFileStream := TFileStream.Create(DatName, fmOpenRead);
try
DataSize := AFileStream.Size;
AFileStream.Position := 0;
CanSend := 1;
GetMem(DataPtr, CanSend);
while DataSize > 0 do begin
AFileStream.Read(DataPtr, CanSend);
ComSerial.SendData(DataPtr, CanSend);
DataSize := DataSize - CanSend;
SendDataSize := SendDataSize + CanSend;
end;
finally
AFileStream.Free;
FreeMem(DataPtr);
end;
Doch bei diesem Versuch empfange ich überhaupt keine Daten an meiner Gegenstelle.
Das CanSend ist blos noch dabei weil ich vorher Daten mit einer Größe von 2048 verschickt habe und
sich die SendeGröße beim letzten Sendevorgang geändert hat.