Hi, I have a component BGRAImageList that fixes basically the alpha channels of the regular ImageList on Linux.
I did not code that component, but I'm the one that updates the package.
Sources:
https://github.com/bgrabitmap/bgracontrols/blob/master/bgraimagelist.pasIt works fine in 1.8, but in trunk there are changes like:
1.8
TCustomImageList = class(TLCLReferenceComponent)
1.9 is TCustomImageList = class(TLCLComponent), so the method ReferenceNeeded is not available.
Questions:
-
What does ReferenceNeeded, and if it is necessary on 1.9.
Another is this:
1.8
procedure Draw(ACanvas: TCanvas; AX, AY, AIndex: Integer; ADrawingStyle: TDrawingStyle; AImageType: TImageType;
ADrawEffect: TGraphicsDrawEffect); overload; virtual;
1.9
procedure Draw(ACanvas: TCanvas; AX, AY, AIndex: Integer; ADrawingStyle: TDrawingStyle; AImageType: TImageType;
ADrawEffect: TGraphicsDrawEffect); overload;
In 1.9 the virtual was removed and I can't use override anymore.
My question is
if the method still will be called instead of the LCL one in 1.9 without using override. I know this is a basic of OOP but I need a bit of help because I never use virtual and overload.
Another question: If I remove override to compile in 1.9, what happens in 1.8?
I never use IFDEF LCL_FULLVERSION and don't know how to use it, any chances to have 2 different methods, one with override and other without, one for 1.8 and one for 1.9 or newer?