On Sun, 21 Nov 2010, Max Vlasov wrote:
Hi, I'm one of those developers who takes hints and warnings seriously and I must say at least once a week it helps me find a bugs even before running the program. So when I got a warning about some uninitialized variable passed by reference (Delphi 5 is ok with such variable being uninitialized), I thought what I should do to fix this, and the best solution for this is changing the declaration from "var " to to "out " (CMIIW). But is it possible to do the same (partially, gradually or in any other way) for the "legacy" code that keeps the interface compatibility with Delphi. For example TStrignList.Find(const S: string; var Index: Integer): Boolean; declares "var " so my existing fragments expecting just an result from this call, got "Hint: Local variable "Index" does not seem to be initialized" warning. But looking at the implementation details it seems it is safe to change "var Index" to "out Index" and possibly it is also safe for any delphi/lazarus code calling this method
For this particular instance, I changed the code. (rev 16395) But in general, one must be careful with changing such things. Michael. _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal