Nicht LoadFromStream in einem TMemoryStream, sondern TFileStream und da in einer Schleife immer schön mit Read kleinere Teile in einen Buffer (z.B. ein ByteArray ... am modernsten vom Typ TBytes)
MMF (
Memory Mapped Files)
Aber wozu?
Zitat:
Dadurch wird im Taskmanager E/A Bytes Lesen auf die Größe der Anwendung erhöht.
Ist das nicht bissl egal? Außerdem ist das schießlich auch genau das, was du mit deinem Code verursachst.
Wobei mich bei sowas eher der
RAM-Verbrauch interessieren würde, als die gelesenen Bytes.
PS: Die EXE ist bereits in den
RAM geladen (Windows nutzt dazu auch eine Art von MMF mit einer CopyOnWrite-Bindung, damit Änderungen nur im
RAM geschehen und nicht in der Datei auftauchen)
und entsprechend der
PE-Spezifikation (Portable Executables) werden hier die Sections der
PE einzeln geladen, also nicht die ganze EXE 1:1 (byte-genau).
Ein Therapeut entspricht 1024 Gigapeut.