<div dir="auto"><div class="gmail_quote" dir="auto"><div dir="ltr">Am Mi., 2. Jan. 2019, 17:05 hat Benito van der Zander <<a href="mailto:benito@benibela.de">benito@benibela.de</a>> geschrieben:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div text="#000000" bgcolor="#FFFFFF">
    <div><blockquote type="cite">The non-initialization of 'Result' has
        bitten me more than once in Delphi. <br>
      </blockquote>
    </div>
    <div><br>
    </div>
    <div>Me, too. Usually the solution was to add a call to SetLength.<br>
    </div>
    <div><br>
    </div>
    <div>That makes the bullshit hints especially bad.</div></div></blockquote></div><div dir="auto"><br></div><div dir="auto">Even in Delphi situations can occur where a dynamic array Result variable is non-Nil already upon entry and then SetLength will simply manipulate that preexisting array instead of working on a new array. In most cases that probably won't have a real effect as the array is either set to empty anyway or all it's elements are initialized by the function. That doesn't change the fact however that the behavior *is* there and can potentially lead to hard to debug problems. </div><div dir="auto"><br></div><div dir="auto">The only exception for the warning could possibly be SetLength(Result, 0) as that is the equivalent of "Result := Nil" or "Result := []" as 3.2.0 now supports. </div><div dir="auto"><br></div><div dir="auto">Anything else can potentially be a bug lying in wait. </div><div dir="auto"><br></div><div dir="auto">Regards, </div><div dir="auto">Sven </div><div class="gmail_quote" dir="auto"></div></div>