Hi. This construction of setup vr.VAnsiString cause memoryleak:
program str; uses heaptrc; var s: ansistring; vr: TVarRec; begin SetString(s, 'xxx', 3); //ok vr.VType := vtAnsiString; SetString(AnsiString(vr.VAnsiString), 'yyy', 3); //Memory leak. end. Heap dump by heaptrc unit 2 memory blocks allocated : 24/32 1 memory blocks freed : 12/16 1 unfreed memory blocks : 12 True heap size : 32768 True free heap : 32672 Should be : 32688 Call trace for block $B7FEE0C0 size 12 $08050E82 $fpc_ansistr_setlength, line 569 of /home/common/fpc/rtl/inc/astrings.inc $080480DF main, line 10 of str.pas $080678B1 _FPC_proc_start, line 67 of ./i386/si_prc.inc Is right that in destroying TVarRec is not decremented ansistring reference? If so, how to correctly set TVarRec.VAnsiString without memoryleak? I need to fill "a: array of TVarRec" with ansistrings. Thanks. Petr -- Ing. Petr Kristan . EPOS PRO s.r.o., Bozeny Nemcove 2625, 530 02 Pardubice tel: +420 466335223 Czech Republic (Eastern Europe) fax: +420 466510709 _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel