Wie wäre es mit Generics?
Delphi-Quellcode:
type
TBaseClass<T> =
class
public
constructor Create(MyParam: T);
end;
// andere Unit:
TTestClass1 =
class(TBaseClass<TMyEnum1>)
end;
Und so weiter. So kannst du in der Basisklasse den Typ offen lassen und erst bei der konkreten Klasse von der entsprechend typisierten Klasse ableiten.