Tony Whyman wrote:

While the online documentation says a lot about tyepcasting PChars to
AnsiStrings, there seems to be nothing on the reverse.

You obviously meant the opposite. In any case, ansistring(pchar) results in the same code as ansistring:=pchar, and results in a type conversion that creates a new ansistring from scratch based on the pchar data.

Re-interpreting a pchar pointer as an ansistring would probably crash in any FPC version, but that will not happen here because pchar and ansistring are assignment compatible. I.o.w., the typecast is superfluous. Everything that works without a typecast is supported by definition (barring bugs).

The documentation indeed appears to contain no information about which string types and related types are assignment compatible (and, a fortiori, can also be typecasted into each other). Char, shortstring, (non-dynamic) array of char etc can all also be assigned to ansistrings.


Jonas
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to