I'm with you on this
You pass 4 arguments, while it expects 3 with the first one being a TRect as well as the third.
The menu that appears when you type the dots after the Tbitmap.Canvas.<--
There are two types of procedure
1-LCLIn unit "Graphics" at line (961) a new class Named TCanvas Derived from TFPCustomCanvas
Public proceduresprocedure CopyRect(const Dest: TRect; SrcCanvas: TCanvas; const Source: TRect); virtual;
Here requires 3 arguments.......
2-FCLIn unit "FPCanvas" at line (192) You will find there TFPCustomCanvas = class(TPersistent)
Public procedures....link to FPCanvas.inc line(583)
procedure CopyRect (x,y:integer; canvas:TFPCustomCanvas; SourceRect:TRect);
Here requires 4 arguments.......
1-X,
2-Y,
3-TFPCustomCanvas
4-TRect
I've changed the coordinates x,y With ' Tpoint ' , Of course,the compiler does not accept
The comma Between X and Y is the problem ...
,
And more clarity
Try copying TFPcustomCanvas to Tcanvas or Tbitmap.canvas