Einzelnen Beitrag anzeigen

a.def
(Gast)

n/a Beiträge
 
#81

AW: DEC 5.2 String hashen?

  Alt 5. Mai 2017, 09:47
Eine Frage hätte ich noch. Ich habe gerade mal beobachtet wie die "E/A Bytes (Lesen)" im Taskmanager aussieht nachdem ich mein Testprogramm starten.
Mit meinem aktuellen Code und einem <Stream>.LoadFromFile() geht der o.g. Wert direkt in die Höhe. Ich würde mal sagen dort steht dann Programmgröße + 200KB.

Wenn ich folgenden Code verwende, dann passiert das nicht. Woran liegt das?
Delphi-Quellcode:
 aFileStream := TFileStream.Create(ParamStr(0), fmOpenRead or fmShareDenyWrite);
 try
  // Get hash from stream end
  SetLength(s, 32 * SizeOf(Byte));
  aFileStream.Position := aFileStream.Size - Length(s);
  aFileStream.Read(s[1], Length(s));

  ShowMessage(s);
 finally
  aFileStream.Free;
 end;
Wo ist also der Unterschied was den Wert "E/A Bytes (Lesen)" angeht zwischen den Zeilen unten?

Delphi-Quellcode:
// Verursaacht hohe (Programmgröße + ~100KB) "E/A Bytes (Lesen)" im Taskmanager
aByteStream := TBytesStream.Create;
aByteStream.LoadFromFile(ParamStr(0));

// Verursacht dieses Problem nicht
aFileStream := TFileStream.Create(ParamStr(0), fmOpenRead or fmShareDenyWrite);
Und: gibt es eine Lösung TBytesStream zu verwenden -ohne- dieses Problem im TaskManager? (TStringStream verursacht diese Anzeige übrigens auch)