<div dir="ltr"><div>I have the following methods. <br></div><div><br>I was expecting that  Result := Save; would call Save method but in fact Save refers to the function result variable.<br><br></div><div>Is it by design?<br></div><div><br>function TSqlite3JSONObjectResource.Save(IdValue: Variant): Boolean;<br>begin<br>  if not VarIsEmpty(IdValue) then<br>  begin<br>    [..]<br>  end<br>  else<br>  begin<br>    Result := Save; <- this does not call the overloaded method<br>    Result := Save(); <- this calls the overloaded method<br>  end;<br>end; <br><br>function TSqlite3JSONObjectResource.Save: Boolean;<br>begin<br>[..]<br></div>end;<br><div><br></div></div>