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;