Vielen Dank. Meine zwei Funktionen sehen nun so aus. Ein erster Test von Set zu String und zurück von String zu Set hat funktioniert.
Delphi-Quellcode:
function SetToStr<T>(Value: T; Brackets: Boolean): string;
begin
Result := SetToString(PTypeInfo(TypeInfo(T)), @Value, True);
end;
function StrToSet<T>(Value: string): T;
begin
StringToSet(PTypeInfo(TypeInfo(T)), Value, @Result);
end;
// X: TMySet;
// S: string;
// X := [a, b c];
// S := SetToStr<TMySet>(X, True);
// ShowMessage(S);
//
// X := StrToSet<TMySet>('[a, b]');
// S := SetToStr<TMySet>(X, True);
// showmessage(S);
Ich speichere Sets aktuell als Integer-Wert. Das ist mir aber zu unsicher, sollte ich mal an der Benutzeroberfläche etwas ändern, sind die Integer-Werte nutzlos.