Es gibt COM-Port Komponente LazSerial. Darin habe ich folgendes gesehen:
Code: Alles auswählen
SetLength(Result, x);
x := RecvBuffer(Pointer(Result), x);
Code: Alles auswählen
function TBlockSerial.RecvPacket(Timeout: Integer): AnsiString;
Code: Alles auswählen
function TBlockSerial.RecvBuffer(buffer: pointer; length: integer): integer;
Code: Alles auswählen
x := RecvBuffer(@Result[1], x);
Frage: ist FreePascal so schlau, und Pointer(Result) ergibt nicht @Result[0]?