Die angegebene Loesung ist schon brauchbar.
Fuer kompliziertere Sachen muss man sich moeglicherweise einen eigenen kleinen Memorymanager bauen.
Einfacher waere aber etwas der Art:
Delphi-Quellcode:
type
TAlignedMemory = record
Allocated: Pointer;
Aligned: Pointer;
end;
function GetAlignedMemory(var Mem: TAlignedMemory): Pointer;
procedure FreeAlignedMemory(const Mem: TAlignedMemory);
Die Implementation ist ja schon weitgehend da.