[fpc-pascal] Copy dynamic array
Alexander Grotewohl
alex at dcclost.com
Wed May 16 00:52:50 CEST 2018
I should probably also note that you shouldn't use move with records
that have ansistrings or other dynamically allocated variables in them..
On 5/15/2018 6:49 PM, Alexander Grotewohl wrote:
> type
> TRec = record
> s1:string;
> i1:integer;
> end;
>
> var
> S1,S2:string;
> R1,R2:TRec;
> begin
> S1:='123';
> S2:=S1; // lol
>
> R1.s1:='123';
> R1.i1:=1;
> move(R1, R2, sizeof(TRec));
> writeln(R2.s1, ' ', R2.i1);
> end.
>
>
> On 5/15/2018 2:39 PM, denisgolovan wrote:
>> Well.
>>
>> "Copy" works for arrays only.
>> Neither strings nor records work.
>> Tested in pretty old svn rev. 37656
>>
>> //=================================================
>> program project1;
>>
>> {$mode objfpc}{$H+}
>>
>> type
>> TRec = record
>> s1:string;
>> i1:integer;
>> end;
>>
>> var S1,S2:string;
>> A1,A2:array of integer;
>> R1,R2:TRec;
>> begin
>> A1:=[1,2,3];
>> A2:=Copy(A1);
>> A2[0]:=10;
>> writeln(A1[0]);
>> writeln(A2[0]);
>>
>> S1:='123';
>> S2:=Copy(S1);
>>
>> R1.s1:='123';
>> R1.i1:=1;
>> R2:=Copy(R1);
>> end.
>> //===========================================
>>
>> BR,
>> Denis
>> _______________________________________________
>> fpc-pascal maillist - fpc-pascal at lists.freepascal.org
>> http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
>
> _______________________________________________
> fpc-pascal maillist - fpc-pascal at lists.freepascal.org
> http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
More information about the fpc-pascal
mailing list