type GenericBase = class end; GenericObject = class end; PartialContainer = partial class end; // Можно сделать пред-описанием метода, чтоб обойтись без forward procedure p1(o: PartialContainer); forward; type // Обязательно описать предка после описания p1 PartialContainer = partial class(GenericBase>) end; procedure p0(o: GenericBase>) := exit; procedure p1(o: PartialContainer); begin p0(o); end; begin p1&(nil); end.