El 16/12/2015 a las 17:25, Sven Barth escribió:
>
> Am 16.12.2015 16:12 schrieb "Santiago A." <s...@ciberpiula.net
> <mailto:s...@ciberpiula.net>>:
> >
> > Type
> >  TRegAlias=record
> >        AliasName:string
> >     ...
> >  end;
> >
> >  TArrayAlias=specialize TArray<TRegAlias>; // <==== Error here
> >
> > defconexion.pas(71,14) Error: Identifier not found "specialize"
> > defconexion.pas(71,25) Error: Error in type definition
> > defconexion.pas(71,25) Fatal: Syntax error, ";" expected but "identifier
> > TARRAY" found
> >
> >
> > Why this error?
> > Why does the compiler try to look for a Identifier "specialize" instead
> > of interpreting it as a reserved word?
>
> Which FPC version? Which language mode?
>
{$mode Delphi}

I've just tried {$mode objfpc} and compiles type declaration, (Delphi
mode can't understand generics?)

But now I have another problem, when I use the variable, I get "Argument
can't be assigned to"

var
  arrayAlias:TArrayAlias;
  aliasList:TStringList;
  ...
begin
...
  arrayAlias[i].AliasName:=aliasList[i]; //<==== Error here

Where TArrayAlias=TArray<TRegAlias>, and TArray<_T> is an object, not a
class.
And it has a property

      property item[index:Integer]:_T read getItem write setItem; default;

So, it has the getter and the setter.

Doesn't objfpc mode accept default indexed properties?

-- 
Saludos

Santi
s...@ciberpiula.net

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to