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 - [email protected]
> http://lists.freepascal.org/mailman/listinfo/fpc-pascal
>
--
http://ik.homelinux.org/
_______________________________________________
fpc-pascal maillist - [email protected]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal