So genau hatte ich mir deinen Code gar niocht angesehen, du hattest noch einen Fehler drin:
Delphi-Quellcode:
GetMem(Ziel, ...)
for...
begin
...
inc(Ziel);
end;
SavePCMMemoryToFile(Ziel, ...);
Du musst den Pointer auf den Anfang deiner Daten übergeben, du übergibst aber einen Pointer auf das Ende!
FALSCH:
Delphi-Quellcode:
GetMem(Data);
inc(Data);
SavePCMMemoryToFile(Data);
RICHTIG:
Delphi-Quellcode:
GetMem(Data);
Data2 := Data;
inc(Data2);
SavePCMMemoryToFile(Data);
Also genau das, wo du gestern gefragt hast, warum man es machen muss, hast du vergessen.