Folgende Konstellation...
Code: Alles auswählen
// ein Record mit integriertem Array
dbuf = record
tpos : integer;
ttim : TDateTime;
vval : array[1 .. 20] of real; // <= hier kann ich leider nicht cdcnt verwenden, da const erst nach type festgelegt
end;
// Größe von Messwerten und Ringbuffer
const
ctanz = 720; // Größe Ringbuffer Daten
cdcnt = 25; // Anzahl Messwerte
// Ringbuffer zuweisen
var
daten : array[0 .. ctanz - 1] of dbuf; // Ringbuffer Daten
...
for i := 1 to cdcnt do
for k := 0 to ctanz - 1 do
val := daten[k].vval[i]; // <= ergibt ungültige Daten für i > 20, aber keine Fehlermeldung
Disclaimer: In Basic hab ich cdcnt vor dem Array definiert, und damit das Array automatisch angepasst, geht leider in Pascal nicht, da type vor const vor val.