Mir ist klar, folgendes wird als Rat in der Regel abgelehnt, also bitte nicht böse werden, ist ja auch nur ein Testballon:
Ich würde das jetzt mal ganz pragmatisch sehen: Weiter Zeit vergeuden mit dem Versuch alten Code zu verwenden, oder einfach auf eine Klasse umsatteln? Zeiger sind so... 80er Jahre.
So ganz Unrecht hast du damit nicht. Man denkt gemeinhin, es gäbe gewaltige Performanceunterschiede. Tatsächlich aber sind Klassen (und generische Listen) unter bestimmten Szenarien sogar weitaus leistungsfähiger. Ich hatte einen Fall, wo ich bei Schleifen über Oldschool-Record-Listen eine Laufzeit von 60 Sekunden hatte und nach dem Umbau auf Klassen und TDictionary<key, myobject> eine Laufzeit von 4,5 Sekunden.
Und jedem Byte Speicherverbrauch nachzujagen ist auch vergeudete Müh.
RAM ist das billigste und am einfachsten zu erweiternde Glied in der ganzen Problemkette.