Ich hatte es auch versucht mit den Generics zu kreuzen, aber leider kann man die nicht wie Makros verwenden, bzw. man kann keine generischen Konstanten mitgeben.
Quasi
TMyString<50>
, wo dann intern ein
array[0..50-1] of char
dekalriert wird.
Im Prinzip bestand es halt aus soeinem Array, in einem Record verpackt und dazu noch ein paar implizite und explizite Operatoren von und zu AnsiString, WideStringund zuletzt auch noch UnicodeString, welche das Array entsprechend mit einem #0-terminierten String füllten.