Hallo,
per
FillChar(DataBlock, #0) kann ein array komplett auf 0 gesetzt werden.
Bei dem Code fällt mir auf.
1. kein Assert
DataBlock16 ist ja wohl ein maximal 16 SmallInt grosser Block
ein
Assert(readlength<=16, 'readlength>16')
vor der Benutzung würde das sicherstellen
2. mal prüfen
if RPos+16<= waveDataSize then ReadLength:=16;
ReadLength = 16, OK
DateiStream.Read(DataBlock16[0],readlength*2);
jetzt werden 32 SmallInt in den 16er Block gelesen ?
3. Rechtschreibung
mal heisst es
readlength, dann wieder
ReadLength
ich setze immer ein Typ-Kürzel davor, bei Integer also
iReadLength
Heiko