Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#12

AW: Programm verhält sich anders unter Windows 10 (DE) und Windows 10 (KOR)

  Alt 23. Aug 2015, 10:15
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)
  Mit Zitat antworten Zitat