Forum: Object-Pascal / Delphi-Language
by Stevie,
19. Okt 2021
Nein, der constructor Constraint besagt, dass der Typ einen parameterlosen Konstruktor haben muss und das können Records sowieso nicht.
Dass es nicht mehr kompiliert liegt an der Änderung von FreeAndNil, was nun nicht mehr einen typenlosen var Parameter entgegen nimmt.
Semantisch hast du schon vorher sichergestellt, dass T nur eine Klasse sein kann, aber nicht syntaktisch, weswegen der Compiler...
Forum: Object-Pascal / Delphi-Language
by Stevie,
19. Okt 2021
Nein, der constructor Contraint sorgt dafür, dass es sich bei T nur um eine Klasse handeln kann. Diese muss nur auch das IOrModel Interface implementieren - da ich davon ausgehe, dass der Code bisher funktioniert, werden diese Klassen dann wohl keine Referenzzählung implementieren.
@Elrond:
Füge einfach noch den class constraint zu T hinzu, dann merkt der Compiler, dass es sich nur um ein...