[fpc-devel] Error: (3069) Call by var for arg no. xx has to match exactly: Got "ShortString" expected "AnsiString"

Maxim Ganetsky ganmax at narod.ru
Sun Jul 16 19:17:59 CEST 2023


16.07.2023 20:14, Maxim Ganetsky via fpc-devel пишет:
> 16.07.2023 20:08, Michael Van Canneyt via fpc-devel пишет:
>>
>>
>> On Sun, 16 Jul 2023, Maxim Ganetsky via fpc-devel wrote:
>>
>>> Hello.
>>>
>>> Recent changes in FPC `main` led to the following errors when 
>>> building some code in Lazarus tree:
>>>
>>> Error: (3069) Call by var for arg no. xx has to match exactly: Got 
>>> "ShortString" expected "AnsiString"
>>>
>>> See:
>>>
>>> https://gitlab.com/freepascal.org/lazarus/lazarus/-/issues/40381
>>>
>>> Note that the unit which fails to build has {$H-} directive.
>>>
>>> Is it a bug in compiler?
>>
>> No. We're preparing for the unicode RTL.
>>
>> Part of that was changing string -> shortstring and pchar -> ansichar.
>>
>> In some rare places I changed string to ansistring in preparation of
>> unicodestring, in this case it was misplaced since it was a var 
>> argument. I added an overloaded version, which should fix the 
>> compilation error.
>
> But I thought that it was possible to assign ShortString to 
> AnsiString. Am I mistaken?
Ah, I see now that it is Var argument, so they should match exactly.

Thanks for helping.

-- 
Best regards,
  Maxim Ganetsky                  mailto:ganmax at narod.ru



More information about the fpc-devel mailing list