Kannst du mal ein bisschen Quelltext zur Verwendung deiner bisherigen Lösung zeigen?
Wenn ich mir den Wiki-Artikel so anschaue (
https://de.wikipedia.org/wiki/DVB-SI), würde ich eher ein TDictionary<DeinSchlüssel, DeineDaten> verwenden, welches auch schon in Delphi 2009 vorhanden ist.
DeineDaten können hier TBytes (array of Bytes) sein und/oder ein Record, welches automatisch per impliziter/expliziter Methoden die Raw-Daten lesen, umwandeln und wieder ausgeben kann.
Wie bekommst du denn die Daten? Eine externe
TCP/Http-Quelle? Liest du hier als String? Eine Verwendung direkt als Bytes/Stream wäre vorteilhafter.