Am 13.06.2015 um 20:08 schrieb Martin Frb: > On 13/06/2015 17:48, Florian Klämpfl wrote: >> Am 13.06.2015 um 16:42 schrieb Martin Frb: >>> On 13/06/2015 15:18, Florian Klämpfl wrote: >>>> Foo2(a1[i],a2[j]) >>>> >>>> a1, a2 being dyn. arrays, but sharing data, i and j having the same value. >>>> >>>> >>> I dug out my old "turbo delphi". >>> >>> In all both cases (my original example / you dyn array example) Delphi >>> passes nil for the normal >>> parameter, and fpc passes a dangling pointer. >>> >> This depends on the order in which parameters are loaded > I did all my tests with both orders
It is a decision of the code generator, the order of the parameters in the declaration does not matter. > procedure Foo1(a: AnsiString; out b: AnsiString); > procedure Foo2(out a: AnsiString; b: AnsiString); > > So in Delphi it does not depend on this order. The "none out" is always nil. Yes. Implementation specific behavior. _______________________________________________ fpc-devel maillist - [email protected] http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
