[fpc-devel] Array of char
Stefan Glienke
sglienke at dsharp.org
Wed Feb 25 18:41:32 CET 2015
Maybe in D7 this works and in Delphi XE7 you also can get away with it when
passing it directly to Writeln but this will throw a nice AV and the end:
program Project1;
const
Str = 'TEST';
var
Data: array of Char;
s: string;
begin
SetLength(Data, Length(Str));
Move(Str[1], Data[0], Length(Str)*SizeOf(Char));
s := string(Data);
end.
I debugged into the code (it's calling UStrAsg) and what it does cannot
be correct because it
interprets the array of Char directly as string messing around with its
refcount.
Regards
Stefan
Am 25.02.2015 um 17:02 schrieb thaddy at thaddy.com:
> @ Florian.
>
> You closed the typecast from array of char to string issue.
> Maybe you are right,
> I just can prove that every d2-xe7 adds a #0, so a cast (partially,
> agreed) works in delphi and not in fpc.
> I suggest you reconsider this. The raw pointer cast should work, which
> means an array of char should have a hidden terminator as well as a
> hidden pre.
>
> With all respect,
>
> Thaddy
>
>
>
> _______________________________________________
> fpc-devel maillist - fpc-devel at lists.freepascal.org
> http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20150225/7419e07b/attachment.html>
More information about the fpc-devel
mailing list