Hi,

when I have a record which has managed types (i.e. strings),
how are they handled by the compiler when I assign one record to the other?
Example:

---------------------------------------------------
type MyRecordType = record
                                      X : SizeInt;
                                      S : AnsiString;
                                      end;
var A,B : ^MyRecordType;

begin
new(A);
new(B);
A^.X := 7;
A^.S := 'String in A';
B^ := A^;
Dispose(A);
end;
---------------------------------------------------

What happens to the reference counter of S?
Is it updated correctly (assigned to zero with new,
incremented with B^:=A^ and decremented with dispose)?

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

Reply via email to