In Delphi that would be the https://docwiki.embarcadero.com/Libraries/Alexandria/en/System.GetTypeKind intrinsic - I could not find that one in the 3.2.0 feature list.

Am 28.11.2022 um 11:17 schrieb J. Gareth Moreton via fpc-devel:

Well that spoils that idea!  Is there any way to determine if it's pointer-based so you can swap references instead of going through the whole penalty of creating and destroying temporary objects?

Kit

On 28/11/2022 10:07, Sven Barth wrote:
J. Gareth Moreton via fpc-devel <fpc-devel@lists.freepascal.org> schrieb am Mo., 28. Nov. 2022, 11:01:

    Just want to clarify something... if a type is managed, can it be
    safely
    typecast to a pointer in all instances and on all platforms? (The
    purpose being so if I wanted to swap two items, so there's no
    overall
    change in the reference counters, I can simply swap the pointers...
    there's no dereferencing involved!)


No, managed does not automatically mean that it's a Pointer based type. Records with management operators, Variants and Windows WideString are managed as well.

Regards,
Sven


_______________________________________________
fpc-devel maillist  -fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to