Nimm an, dass alle deine Strings maximal 7 Zeichen lang sind - bei Dateiendungen ist das meiner Ansicht nach durchaus praktikabel.
Delphi-Quellcode:
type
TExtStringArray = array[0..(MaxWord div 8 - 1)] of String[7];
PExtStringArray = ^TExtStringArray;
var ExtStrings: PExtStringArray; Str: TIPCStream;
begin
//initialisieren...
ExtStrings := Str.Memory;
end;
Jetzt kannst du direkt auf ExtStrings zugreifen und musst gar nichts mehr mit Str machen. Das einzige Problem liegt in der Threadsicherheit, aber auch das lässt sich lösen, indem man das Längen-Feld des Shortstrings als Flag missbraucht (0 = leer, andernfalls belegt).