Difference between revisions of "FPC message: Wrong number of parameters specified"
From Lazarus wiki
Jump to navigationJump to searchm |
|||
Line 10: | Line 10: | ||
<syntaxhighlight>Button1.Click := Button1Click;</syntaxhighlight> | <syntaxhighlight>Button1.Click := Button1Click;</syntaxhighlight> | ||
− | In | + | In [[Mode ObjFPC]] you must add the @ to tell the compiler, that you want the pointer to the function, not the result of the function: |
<syntaxhighlight>Button1.Click := @Button1Click;</syntaxhighlight> | <syntaxhighlight>Button1.Click := @Button1Click;</syntaxhighlight> | ||
Revision as of 17:31, 11 October 2015
│
Deutsch (de) │
English (en) │
Missing parameter or too many parameters
You confused the function and forgot a parameter or added a parameter too much.
Missing @
For example:
Button1.Click := Button1Click;
In Mode ObjFPC you must add the @ to tell the compiler, that you want the pointer to the function, not the result of the function:
Button1.Click := @Button1Click;
Delphi users often confuse this, because Delphi allows it and adds the @ internally. If you prefer the Delphi syntax you can use {$mode Delphi} instead of {$mode ObjFPC}.