<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <div class="moz-cite-prefix">El 16/10/2024 a las 19:03, Guillermo
      Martínez Jiménez via fpc-pascal escribió:<br>
    </div>
    <blockquote type="cite"
      cite="mid:20241016190347.1845033c@guillermo-sobremesa">
      <pre class="moz-quote-pre" wrap="">Prease DON'T add garbage collector.  IMO it isn't a good idea.  I had
very bad experiences with it. Unless somebody found a new magic
algorithm in the last decade...

El Wed, 16 Oct 2024 04:49:44 -0700
Hairy Pixels via fpc-pascal <a class="moz-txt-link-rfc2396E" href="mailto:fpc-pascal@lists.freepascal.org"><fpc-pascal@lists.freepascal.org></a> escribió:</pre>
    </blockquote>
    Not a garbage collector but an autofree when the objects gets out of
    scope would be handy<br>
    <br>
    <font face="monospace">procedure foo()<br>
      var<br>
       s: <b>auto </b>TStringList;<br>
      begin<br>
       s:=TStringList.create;<br>
       doWhatever(s);<br>
      end;<br>
    </font><br>
    would be equivalent to<br>
    <br>
    <font face="monospace">procedure foo()<br>
      var<br>
       s: TStringList;<br>
      begin<br>
       s:=TStringList.create;<br>
       try<br>
         doWhatver(s);<br>
       finally<br>
         s.free;<br>
       end <br>
      end;<br>
      <br>
    </font>Think of it, which one is more readable?<font
      face="monospace"><br>
      <br>
    </font><font face="monospace">procedure foo()<br>
      var<br>
       s1: <b>auto </b>TStringList;<br>
    </font><font face="monospace"> s2: <b>auto </b>TStringList;<br>
    </font><font face="monospace"> s3: <b>auto </b>TStringList;</font><br>
    <font face="monospace">
      begin<br>
       s1:=TStringList.create;<br>
    </font><font face="monospace">
       s2:=TStringList.create;<br>
    </font><font face="monospace"> <a class="moz-txt-link-freetext" href="s3:=TStringList.create">s3:=TStringList.create</a>;<br>
    </font><font face="monospace"> </font><font face="monospace">doWhatever(s1,s2,s3);<br>
      end;<br>
    </font><br>
    <font face="monospace">procedure foo()<br>
      var<br>
       s1: TStringList;<br>
    </font><font face="monospace"> s2: TStringList;<br>
    </font><font face="monospace"> s3: TStringList;</font><br>
    <font face="monospace">
      begin<br>
       s1:=TStringList.create;<br>
       try<br>
    </font><font face="monospace">
         s2:=TStringList.create;<br>
         try<br>
    </font><font face="monospace">     <a class="moz-txt-link-freetext" href="s3:=TStringList.create">s3:=TStringList.create</a>;<br>
           try   <br>
    </font><font face="monospace"> </font><font face="monospace">     
      doWhatever(s1,s2,s3)<br>
           finally<br>
             s3.free; <br>
           end;<br>
         finally<br>
           s2.free;<br>
         end;<br>
       finally<br>
        s1.free; <br>
       end  <br>
      end;<br>
    </font><br>
    <br>
    <br>
    <br>
    <blockquote type="cite"
      cite="mid:20241016190347.1845033c@guillermo-sobremesa">
      <pre class="moz-quote-pre" wrap="">_______________________________________________
fpc-pascal maillist  -  <a class="moz-txt-link-abbreviated" href="mailto:fpc-pascal@lists.freepascal.org">fpc-pascal@lists.freepascal.org</a>
<a class="moz-txt-link-freetext" href="https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal">https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal</a>
</pre>
    </blockquote>
    <br>
    <br>
    <pre class="moz-signature" cols="72">-- 
Saludos
Santi</pre>
  </body>
</html>