Ich habe es inzwischen so ähnlich gelöst. Aber beide Lösungen wirken irgendwie freaky.
Delphi-Quellcode:
TmyBaseClass = class(TObject)
protected type
TmyNestedType = record
SomeProperty: Integer;
end;
end;
TmyChildClass = class(TmyBaseClass)
protected type
TmyNestedType = TmyBaseClass.TmyNestedType;
protected
function Produce: TmyNestedType;
end;