[fpc-devel] tkLString vs tkAString

Marc Weustink marc at dommelstein.nl
Tue Nov 30 13:43:01 CET 2021



On 30-11-2021 13:37, Michael Van Canneyt via fpc-devel wrote:
> 
> 
> On Tue, 30 Nov 2021, Marc Weustink via fpc-devel wrote:
> 
>> Hi,
>>
>> I ran into an issue with a piece of ported Delphi (6) code and RTTI. 
>> Part of the Delphi code was based on strings with a RTTI type 
>> tkLString where in FPC the type appeared to be tkAString. Fixing this 
>> was easy, but it made me wonder what the difference is between them.
>> From the documentation:
>>  Source position: rttih.inc line 22
>>   type TTypeKind = (
>>   ...
>>   tkLString,  Longstring property.
>>   tkAString,  Ansistring property.
>>
>>
>> So there is apparently a LongString type and an AnsiString type. 
>> However if you search (google) the documentation on LongString, you 
>> only find references to AnsiString.
>>
>> My question: What is the difference (if any) ?
> 
> This dates from long ago...
> 
> Longstring was an idea for a shortstring/ansistring kind of string - 
> unlimited length but no reference counting.
> 
> But it was never fully implemented.

Ah, that explains. So technically the delphi tkLString is the fpc 
tkAString and the fpc tkLString does not exist.

Marc


More information about the fpc-devel mailing list