Laut Doku zu Delphi 10 ruft TStream.CopyFrom intern TStream.ReadBuffer, und TStream.ReadBuffer ruft TStream.Read - und genau das ist nicht passiert, das heißt eines der beiden muss in TFileStream ohne den entsprechenden Aufruf überschrieben sein.
Es gibt mehrere Varianten von ReadBuffer. Ich vermute du hast eine andere überschrieben. Benutzt wird die typsichere Variante:
Delphi-Quellcode:
procedure ReadBuffer(var Buffer: TBytes; Count: NativeInt); overload;
procedure WriteBuffer(const Buffer: TBytes; Count: NativeInt); overload;
Dass TStream.ReadBuffer und TStream.WriteBuffer aufgerufen werden, kannst du auch ohne Quelltext sehen:
wo liegen die Sorces (vermutlich liegen die bei der Starter nicht bei?)
Richtig!
Dass es mehrere überladene Varianten gibt, kannst du auch ohne Quelltext in der Syntaxergänzung sehen:
Dass dann eine andere benutzt wird, musst du dann schlussfolgern.