<br><br><div class="gmail_quote">On Sun, Nov 21, 2010 at 6:37 PM, Sven Barth <span dir="ltr"><<a href="mailto:pascaldragon@googlemail.com">pascaldragon@googlemail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<div><div></div><div class="h5">On 21.11.2010 16:22, Max Vlasov wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">But is it possible to do the same (partially, gradually or in any other<br>
way) for the "legacy" code that keeps the interface compatibility with<br>
Delphi. For example TStrignList.Find(const S: string; var Index:<br>
Integer): Boolean; declares "var " so my existing fragments expecting<br>
just an result from this call, got "Hint: Local variable "Index" does<br>
not seem to be initialized" warning. But looking at the implementation<br>
details it seems it is safe to change "var Index" to "out Index" and<br>
possibly it is also safe for any delphi/lazarus code calling this method<br>
<br></blockquote><br></div></div>
Here is an old bug report where "var" => "out" is discussed as well: <a href="http://bugs.freepascal.org/view.php?id=11263" target="_blank">http://bugs.freepascal.org/view.php?id=11263</a><br>
I suggest you to read all commants to find the one or other pitfall regarding this (especially Jonas' comment 19338).<br>
<br>
That said I personally think that TStringList.Find could be changed indeed, as it is a) in an objfpc unit and b) the param isn't a reference counted one. (But as I'm not a member of the FPC team, I have nothing final/definite to say here ^^)<br>


<br>
Regards,<br>
Sven<br></blockquote></div><br><br>Sven, thank for sharing the link. Comment 19338 is indeed interesting, never thought about such semantic difference. Apart from TStringList.Find. calls I noticed also  TStream.ReadBuffer calls that appears much frequently with constructs like TStream.ReadBuffer(ACount, SizeOf(ACount)) also giving the hints. Hope I'll be strong enough to apply all the initialization changes to the sources :)<br>

<br>Max Vlasov<br>