Du musst bei
TStream.CopyFrom
eine
0
für
Count
angeben.
Die Doku ist da eindeutig
Zitat:
Wenn Count 0 ist, setzt CopyFrom vor dem Lesen die Position in Source auf 0 und kopiert dann den gesamten Inhalt von Source in den Stream. Ist Count größer bzw. kleiner als 0, liest CopyFrom aus der aktuellen Position in Source lesen.
... aber der Quellcode (in XE8) folgt seinen eigenen Regeln
Delphi-Quellcode:
function TStream.CopyFrom(const Source: TStream; Count: Int64): Int64;
const
MaxBufSize = $F000;
var
BufSize, N: Integer;
Buffer: TBytes;
begin
if Count <= 0 then
begin
Source.Position := 0;
Count := Source.Size;
end;
Result := Count;
...
und dort hatte ich geschaut ... und mit XE8 funktioniert es so
Ich habe den Beitrag entsprechend geändert
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)