Ich würde von Records nach
Klassen umsteigen.
Hier die Basisklasse als ganz grober Entwurf:
Delphi-Quellcode:
TGameMessage=class(TPersistent)
public
property Offset:integer;
property Typ:Integer;
property TimeStamp:TDateTime;
end;
Von dieser Basisklasse gibt es nun diverse Ableitungen:
Delphi-Quellcode:
TTextMessage=class(TGameMessage)
public
property Text:string;
property ID:byte;
end;
Alle Objekte werden in einer
TObjectList gespeichert.
Da Objekte im Stack ja dynamisch angelegt werden, ist damit das Problem mit den unterschiedlich langen Messages erschlagen.