Generics Tarray<byte>

Für Fragen von Einsteigern und Programmieranfängern...

Generics Tarray<byte>

Beitragvon af0815 » 6. Feb 2017, 13:59 Generics Tarray<byte>

Ich sehe mir gerade die ZXing Komponente ( Ist dzt. Delphi only !) an und bin auf folgendes Problem mit den Generics gestossen.

Es wird ein TArray<byte> verwendet, da bekomme ich aber die folgende Meldung
Code: Alles auswählen
ZXing.LuminanceSource.pas(50,25) Error: Generics without specialization cannot be used as a type for a variable
 

In der syshelp.inc ist das TArray wie folgt definiert
Code: Alles auswählen
Type
  generic TArray<T> = array of T;
 


Wieso bekomme ich die Fehlermeldung ? Und wie kann ich das für Lazarus umbauen ?


Die ganze Deklaration ist wie folgt
Code: Alles auswählen
  TLuminanceSource = class
  protected
    FWidth: Integer;
    FHeight: Integer;
  public
    constructor Create(const width, height: Integer); virtual;
   function Matrix: TArray<byte>; virtual; abstract;
   function getRow(const y: Integer; row: TArray<byte>): TArray<byte>; virtual; abstract;  //<-- TArray<byte>
       function crop(const left, top, width,
       height: Integer): TLuminanceSource; virtual;
       function invert(): TLuminanceSource; virtual;
       function ToString(): String; override;
   function RotateSupported: Boolean; virtual;
   function CropSupported(): Boolean; virtual;
   function InversionSupported: Boolean; virtual;
   function rotateCounterClockwise(): TLuminanceSource; virtual;
   function rotateCounterClockwise45(): TLuminanceSource; virtual;
   property Height: Integer read FHeight;
   property Width: Integer read FWidth;
  end;
 
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3241
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: Win7/Linux (L stable FPC stable) per fpcup | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon marcov » 6. Feb 2017, 14:47 Re: Generics Tarray<byte>

Geht hier prima mit FPC 3.1.1 und {$mode delphi}
marcov
 
Beiträge: 992
Registriert: 5. Aug 2008, 08:37
Wohnort: Eindhoven (Niederlande)
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk) | 
CPU-Target: 32/64,PPC(+64), ARM
Nach oben

Beitragvon af0815 » 6. Feb 2017, 15:14 Re: Generics Tarray<byte>

Danke,
das mit dem Mode {$mode delphi} war mein Problem, mit fpc 3.0.2 geht auch.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3241
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: Win7/Linux (L stable FPC stable) per fpcup | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon marcov » 6. Feb 2017, 16:19 Re: Generics Tarray<byte>

af0815 hat geschrieben:Danke,
das mit dem Mode {$mode delphi} war mein Problem, mit fpc 3.0.2 geht auch.


Delphi code immer im mode delphi nutzen.
marcov
 
Beiträge: 992
Registriert: 5. Aug 2008, 08:37
Wohnort: Eindhoven (Niederlande)
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk) | 
CPU-Target: 32/64,PPC(+64), ARM
Nach oben

• Themenende •

Zurück zu Einsteigerfragen



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

porpoises-institution
accuracy-worried