After you define the generic you must first create a type for it: type TMyMcollection = specialize TMCollection<String>;
And use the TMyMcollection. It seems like hard work, but it is much better then the way it look on a bad C++ and Java code :) Ido On Mon, Mar 31, 2008 at 4:00 PM, Damien Gerard <[EMAIL PROTECTED]> wrote: > > I would like to make a generic class, like this : > > {$mode objfpc} > > generic TMCollection<_T> = class(TObject) > private > FDefaultItem: _T; // line 35 > public > constructor Create; > destructor Destroy;override; > [...] > end; > > > But I have got the following : > commons.pas(35,21) Error: Identifier not found "_T" > commons.pas(35,21) Error: Error in type definition > commons.pas(39,34) Error: Identifier not found "_T" > commons.pas(44,84) Error: Identifier not found "_T" > > According to the documentation, I should use `var private`, but I have > got : > > Compiling ./commons.pas > commons.pas(33,3) Error: VAR and TYPE are allowed only in generics > commons.pas(35,21) Error: Identifier not found "_T" > > Could someone tell me where I am wrong ? > Thanks ! > > > > -- > Damien Gerard > [EMAIL PROTECTED] > > "Intelligence is 10 million rules." > -- Douglas Lenat > > > > > > _______________________________________________ > fpc-pascal maillist - fpc-pascal@lists.freepascal.org > http://lists.freepascal.org/mailman/listinfo/fpc-pascal > -- http://ik.homelinux.org/ _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal