Zitat von Graeme Geldenhuys <[email protected]>:
[...]
I got a reply from Michael van Canneyt in private. He said as far as
he knows it's due to the streaming system used in the VCL. So "order
of creation" is never guaranteed, and can never make assumptions about
that.
To clarify:
The order of creation is fixed (in the sense of determinate). It is a
stream after all.
What Michael meant is that creation order can get complicated, e.g.
with inheritance, frames and special components auto creating their
children and that some designer operations change creation order.
Therefore you should not use creation order for anything else than for
creation issues.
So a hard-coded top,bottom,left,right,client processing order
was put it place.
What is weird is that neither Delphi, nor Kylix, nor LCL help mentions
this hard-coded order of processing. At least the LCL TAlign help
mentions the possible issue of "order of precedence", but doesn't
actually give the answer or reasoning why it exists.
The wiki describes the algorithm with examples:
http://wiki.lazarus.freepascal.org/Autosize_/_Layout#Align
The property should probably link to the corresponding wiki page. Or
better: Integrate the wiki content and the fpdoc entries.
Mattias
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus