Here is a proposal of the syntax: type TGenericClass<T,F> = class public procedure Add(Item: T; Flag: F); end;
procedure TGenericClass.Add(Item: T; Flag: F); // Note: No redundant <T,F> after TGenericClass. begin end; I think, the parameters should be at the identifier name, not in the class block, because that's the way you use them: type TListOfComponent = TGenericList<TComponent>; Analog: type TGenericListClass<T> = class of TGenericList<T>; type PGenericRecord<T> = ^TGenericRecord<T>; procedure GenericProc<T>(Param: T); begin end; Mattias _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel