Zitat von
SirThornberry:
TMemoryStream.Memory zeigt schon auf den Speicher. Allerdings nur so lange bis neuer Speicher alociert werden muss...
ist event. etwas unglücklich ausgedrückt, weil der Pointer "MemoryStream.Memory" nämlich bei einer Neu-Allocierung von Speicherplatz schon entsprechend mitgeändert wird. Bloß eben seine damit anfangs geladene Pointervariable "Wert" nicht. Die müsste er nach einer jeden solchen Write-Methode also immer wieder nur in etwa so erneuern:
Delphi-Quellcode:
Wert := MemoryStream.Memory + (Wert-oldMemoryPtr);
oldMemoryPtr := MemoryStream.Memory;