Spelt / ZXing.Delphi

ZXing Barcode Scanning object Pascal Library for Delphi VCL and Delphi Firemonkey
Apache License 2.0
471 stars 206 forks source link

[DCC Error] ZXing.Common.BitArray.pas(52): E2266 Only one method from a group of overloaded methods can be published #106

Closed AppSep closed 3 years ago

AppSep commented 4 years ago

[DCC Error] ZXing.Common.BitArray.pas(52): E2266 Only one method from a group of overloaded methods can be published

Delphi 10.x

unit ZXing.Common.BitArray;

Line 51 - 64

old ` unit ZXing.Common.BitArray;

interface

type IBitArray = interface ['{3D65F451-E408-4015-A637-73CD05877BCB}'] // property getters and setters function GetBit(i: Integer): Boolean; procedure SetBit(i: Integer; Value: Boolean); function GetBits: TArray;

 function Size: Integer;
 function SizeInBytes: Integer;

 property Self[i: Integer]: Boolean read GetBit write SetBit; default;
 property Bits: TArray<Integer> read GetBits;

 function getNextSet(from: Integer): Integer;
 function getNextUnset(from: Integer): Integer;

 procedure setBulk(i, newBits: Integer);
 procedure setRange(start, ending: Integer);
 procedure appendBit(bit: Boolean);
 procedure Reverse();
 procedure clear();

 function isRange(start, ending: Integer; const value: Boolean): Boolean;

end;

TBitArrayHelpers = class class function CreateBitArray:IBitArray; overload; class function CreateBitArray(const Size: Integer):IBitArray; overload; end;

implementation uses ZXing.Common.BitArrayImplementation;

class function TBitArrayHelpers.CreateBitArray:IBitArray; begin result := ZXing.Common.BitArrayImplementation.NewBitArray; end;

class function TBitArrayHelpers.CreateBitArray(const Size: Integer):IBitArray; begin result := ZXing.Common.BitArrayImplementation.NewBitArray(size); end;

end. `

fixed

` unit ZXing.Common.BitArray;

interface

type IBitArray = interface ['{3D65F451-E408-4015-A637-73CD05877BCB}'] // property getters and setters function GetBit(i: Integer): Boolean; procedure SetBit(i: Integer; Value: Boolean); function GetBits: TArray;

 function Size: Integer;
 function SizeInBytes: Integer;

 property Self[i: Integer]: Boolean read GetBit write SetBit; default;
 property Bits: TArray<Integer> read GetBits;

 function getNextSet(from: Integer): Integer;
 function getNextUnset(from: Integer): Integer;

 procedure setBulk(i, newBits: Integer);
 procedure setRange(start, ending: Integer);
 procedure appendBit(bit: Boolean);
 procedure Reverse();
 procedure clear();

 function isRange(start, ending: Integer; const value: Boolean): Boolean;

end;

TBitArrayHelpers = class class function CreateBitArray_:IBitArray; overload; class function CreateBitArray(const Size: Integer):IBitArray; overload; end;

implementation uses ZXing.Common.BitArrayImplementation;

class function TBitArrayHelpers.CreateBitArray_:IBitArray; begin result := ZXing.Common.BitArrayImplementation.NewBitArray; end;

class function TBitArrayHelpers.CreateBitArray(const Size: Integer):IBitArray; begin result := ZXing.Common.BitArrayImplementation.NewBitArray(size); end;

end. `

Spelt commented 3 years ago

The overloads are valid. There are no problems.

Also no build errors too.