[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:14:53 CEST 2023


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?

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



More information about the fpc-devel mailing list