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
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to