У меня есть эти классы и процедура:
TParent = class(TObject);
TChild1 = class(TParent);
TChild2 = class(TParent);
Procedure DoSomething(obj:TParent);
То, что я хотел бы сделать, это когда obj
является TParent
, а не потомок, создающий исключение.
Я подумал о том, чтобы сделать что-то вроде этого:
if obj.classname = TParent.classname then raise exception.create....
но кажется немного хакерским (TM)
Дополнительно: Я планирую передать объекты, совместно использующие свойства/процедуры. Подумав, что объект TParent вообще не нужен, мне нужен был объект интерфейса, показанный в моем ответе.