Wieso global suchen und ersetzen?
Ein bissl hingucken mußt'e natürlich auch noch.
z.B. i wird Int64, aber nicht read.
oder
Delphi-Quellcode:
function TDCP_cipher.EncryptStream(InStream, OutStream: TStream; MaxSize: Int64): Int64;
var
Buffer:
array[0..8191]
of byte;
Read: LongWord;
// hier der Type, welcher auch als Param/Result bei InStream.Read genutzt wird (falls das LongWord ist, dann so lassen)
begin
Result := 0;
Read := SizeOf(Buffer);
while (MaxSize > 0)
and (
Read = SizeOf(Buffer))
do
begin
Read := InStream.
Read(Buffer, Min(SizeOf(Buffer), MaxSize));
Encrypt(Buffer, Buffer,
Read);
OutStream.
Write(Buffer,
Read);
Inc(Result,
Read);
Dec(MaxSize,
Read);
end;
end;