Am 13.06.2015 um 21:04 schrieb Martin Frb: > On 13/06/2015 19:55, Florian Klämpfl wrote: >>> 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. >> > > Really. Then Delphi documented that this (can) break ref counting?
No idea. But not every border case needs to be documented. But I could imagine that it is possible to construct a case which breaks with delphi as well. Possible candidate: procedure Foo2(out a: AnsiString; b: AnsiString);cdecl; Or is it documented somewhere that out parameters are finalized first and then the other parameters are loaded? _______________________________________________ fpc-devel maillist - [email protected] http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
