In objfpc mode (the deault mode for lazarus, use
Component2.OnChange := @Component1Change;
if you don't use '@', fpc assigns the result of Component1Change to the OnChange event.
Component1Change has parameters and in your code no parameters were given. Hence the error message.
You also can use {$mode delphi}. FPC tries to be delphi compatible and your code will probably work.
HTH,
Vincent.