Code: Alles auswählen
Tvalue = record
name : string[20];
un : string[10];
wert : real;
end;
Tsensor = record
kennung : string[20];
time : TDateTime;
value : array of Tvalue;
end;
Tdevice = record
geraet : string[20];
sensor : array of Tsensor;
end;
Tnode = record
knoten : string[20];
device : array of Tdevice;
end;
var
node : array of Tnode;
Die Struktur wird aus einer XML eingelesen und dynamisch bei Programmstart aufgebaut. Da nicht bekannt ist, wieviele Geräte mit wievielen Sensoren, arbeite ich mit dynamischen Arrays, die entsprechend mit SetLength angepasst werden.
Das funktioniert soweit, aber: Ich würde jetzt gern sehen, wieviel Platz diese Struktur im Speicher einnimmt, zum Beispiel um die Stringlängen zu optimieren. Bekomme ich das irgendwie zur Laufzeit angezeigt, ohne jeden einzelnen Zweig aufzusummieren? Mit MemSize(@node) geht es anscheinend nicht.