Der Fehler kommt daher dass dein Konstruktor nicht parameterlos ist und der übergeordnete Konstruktor schon. Also musst du ihn explizit angeben: Statt
inherited;
also
inherited Create();
.
Streng genommen hast du Recht - Da du von
TObject
ableitest ist da nichts drin was du vermissen würdest. Ich persönlich würde mir angewöhnen es trotzdem immer explizit anzugeben, es kostet ja nichts. Es ist gute Gewohnheit das immer drin zu lassen. Damit läufst du auch weniger in Gefahr es zu vergessen wenn du es mal wirklich brauchen solltest