Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Refresh gets aborted by ZOrder
Message
From
17/10/2015 03:27:07
Dragan Nedeljkovich
Now officially retired
Zrenjanin, Serbia
 
 
To
15/10/2015 03:37:56
General information
Forum:
Visual FoxPro
Category:
Object Oriented Programming
Environment versions
Visual FoxPro:
VFP 9 SP1
OS:
Windows 8
Network:
Windows 2008 Server
Database:
Visual FoxPro
Application:
Desktop
Miscellaneous
Thread ID:
01625937
Message ID:
01626053
Views:
45
>>Thanks for the explanation, it is unfortunate that it works this way thou, and it would have been nice if it was documented "Do not use ZOrder in the refresh of objects contained in a container if you want it to work properly" :)
>
>The documentation should not say what to do,
>but must explain in great detail how the machine works
>where running the program written by developers.
>In the case of high-level languages, often those who create the environment
>are reluctant to explain the backstage.
>Enough say that all cycles are based on VFP's control index,
>and that ZOrder (1) sets the control index to 1 and ZOrder (0) sets it to ControlCount.
>This makes it clear that within a loop, ZOrder(1) makes the infinite loop
>and ZOrder (0) stops him immediately.

Just like the documentation never says that we shouldn't write a for-next loop to remove members of _screen.forms, or if we do why it should be done last-to-first.

I've come to the same conclusion as you, and I think the reasoning behind it could be the order of painting the objects. The object with the lowest z-order is in the farthest background; the one with the highest is on top of everything else. So to cover the cases of transparent text, semi-transparent other objects etc etc it goes from rear to front. Once it reaches the topmost, it's done. Hugo just found a neat way to shortcircuit the process.

I think it should still be possible to zOrder(0) the object he wants, but not from within the object's own .refresh() - perhaps the parent's would work.

back to same old

the first online autobiography, unfinished by design
What, me reckless? I'm full of recks!
Balkans, eh? Count them.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform