Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#8

Re: DEC:Problem mit Verschlüsseln von FileStream -> Memor

  Alt 3. Feb 2004, 20:46
Das liegt nicht am DEC sondern an der TStream VCL in Zusammenhang mit dem Windows API.
Du erzeugst ja mit fmCreate eine neue Datei. Diese Datei hat erstmal 0 Bytes größe. Nun verschlüsselt DEC über Buffer a 4096 Bytes. D.h. es lädt 4096 Bytes in einen Buffer aus der Source Datei, verschlüsselt diese und schreibt sie in die Zieldatei. ABER!, exakt hier muß die VCL die Datei um 4096 Bytes vergrößern und ruft dazu das Windows-API auf. Diese Dateivergrößerung und auch das Repositionieren des Dateizeigers per .Seek() ist die langwierigste Operation im Windows Filesystem. Meine Versuchen habe zB. ergeben das wenn man eine Datei sequentiell Byte für Byte liest die bis zu 100 mal schneller ist als wenn man zwischendurch noch irgendwelche .Seeks durchführt.

Ich weiß nun nicht 100%'tig ob es nur am Windows API liegt, oder ob ein bescheuerter AntiViren-Scanner wie Norton sich da reinhängt und bei jeder Dateiänderung diese Datei erneut nach Viren scannt. Solche Sympthome habe ich aber in Zusammenhang mit dem Norton AV schon erlebt.

Gruß Hagen
  Mit Zitat antworten Zitat