The ones in math must be marked with overload. Then the compiler will continue to search.
Michael. On Tue, 5 Jan 2021, Pascal Riekenberg via fpc-devel wrote:
Please find a simple test project attached Note: If you put the StrUtils at the end of the uses list the program compiles. PascalPascal Riekenberg via fpc-devel <[email protected]> hat am 05.01.2021 08:55 geschrieben: Since i updated my local fpc trunk some of my programs do not compile anymore. Version from before christmas was okay. The compiler can't find the function "IfThen(AValue: Boolean; const ATrue: string; const AFalse: string): string;" of StrUtils. Instead it only seems to see the functions in Math. SQLGenerator.pas(294,9) Error: Incompatible type for arg no. 3: Got "Char", expected "Double" math.pp(2523,10) Hint: Found declaration: IfThen(Boolean;const Double;const Double=` 0.00000000000000000000E+0000`):Double; math.pp(2518,10) Hint: Found declaration: IfThen(Boolean;const Int64;const Int64=`0`):Int64; math.pp(2513,10) Hint: Found declaration: IfThen(Boolean;const LongInt;const LongInt=`0`):LongInt; SQLGenerator.pas(299,9) Error: Incompatible type for arg no. 3: Got "Constant String", expected "Double" math.pp(2523,10) Hint: Found declaration: IfThen(Boolean;const Double;const Double=` 0.00000000000000000000E+0000`):Double; math.pp(2518,10) Hint: Found declaration: IfThen(Boolean;const Int64;const Int64=`0`):Int64; math.pp(2513,10) Hint: Found declaration: IfThen(Boolean;const LongInt;const LongInt=`0`):LongInt; SQLGenerator.pas(305,7) Error: Incompatible type for arg no. 3: Got "Constant String", expected "Double" math.pp(2523,10) Hint: Found declaration: IfThen(Boolean;const Double;const Double=` 0.00000000000000000000E+0000`):Double; math.pp(2518,10) Hint: Found declaration: IfThen(Boolean;const Int64;const Int64=`0`):Int64; math.pp(2513,10) Hint: Found declaration: IfThen(Boolean;const LongInt;const LongInt=`0`):LongInt; SQLGenerator.pas(442,60) Error: Incompatible type for arg no. 3: Got "Constant String", expected "Double" math.pp(2523,10) Hint: Found declaration: IfThen(Boolean;const Double;const Double=` 0.00000000000000000000E+0000`):Double; math.pp(2518,10) Hint: Found declaration: IfThen(Boolean;const Int64;const Int64=`0`):Int64; math.pp(2513,10) Hint: Found declaration: IfThen(Boolean;const LongInt;const LongInt=`0`):LongInt; If i qualify IfThen with "StrUtils." it compiles. Pascal _______________________________________________ fpc-devel maillist - [email protected] https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
_______________________________________________ fpc-devel maillist - [email protected] https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
