Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#10

AW: Blöde Frage zum Thema ZipCrypto

  Alt 18. Aug 2023, 17:11
Das Read auf einen Stream macht in der Tat schon länger Ärger. Problematisch sind dabei die Seek-Operationen, denn das decrypten geschieht synchron und dann bringt ein Seek backwards den State durcheinander.

Alternativ zu TStream könntest du mal das Overload mit TBytes versuchen. Da wird zwar intern auch das Read mit Stream verwendet, aber nur mit einem einzigen Read-Call - das funktioniert. Mit den Bytes erzeugst du dann einfach einen TBytesStream.

Eventuell könnte man das Read-Stream-Problem lösen, wenn man im Decrypt Stream gleich beim Create alles entschlüsselt und in einen Puffer schreibt. Braucht dann halt etwas mehr Speicher.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat