I have just upgraded to FPC 3.2.0 and lazarus 2.0.10 and now getting an issue when attempting to compile zeoslib
ZCollections.pas(896,20) Error: Incompatible type for arg no. 2: Got "Class Of IZCollection", expected "TClass"
Has anyone got any experience with this?
This is where the code is failing
function TZHashMap.Clone: IZInterface;
var
HashMap: TZHashMap;
begin
HashMap := TZHashMap.Create;
HashMap.FKeys := IZCollection(FKeys.Clone);
HashMap.FReadOnlyKeys := IZCollection(FReadOnlyKeys.Clone);
HashMap.FValues := IZCollection(FValues.Clone);
HashMap.FReadOnlyValues := IZCollection(FReadOnlyValues.Clone);
Result := HashMap;
end;
All the IZCollection(FKeys.Clone) fail to compile
IZCollection = interface(IZClonnable)
['{51417C87-F992-4CAD-BC53-CF3925DD6E4C}']
function Get(Index: Integer): IZInterface;
procedure Put(Index: Integer; const Item: IZInterface);
function IndexOf(const Item: IZInterface): Integer;
function GetCount: Integer;
function GetIterator: IZIterator;
function First: IZInterface;
function Last: IZInterface;
function Add(const Item: IZInterface): Integer;
procedure Insert(Index: Integer; const Item: IZInterface);
function Remove(const Item: IZInterface): Integer;
procedure Exchange(Index1, Index2: Integer);
procedure Delete(Index: Integer);
procedure Clear;
function Contains(const Item: IZInterface): Boolean;
function ContainsAll(const Col: IZCollection): Boolean;
function AddAll(const Col: IZCollection): Boolean;
function RemoveAll(const Col: IZCollection): Boolean;
property Count: Integer read GetCount;
property Items[Index: Integer]: IZInterface read Get write Put; default;
end;