Hi Hilmar,
I've waited for<s>. I run myself in this everytime in need to do.
For common I simply ignore the controls within (custoumer want's it cheap - ?).
To keep track of things is a way. It is a little bit like using a stack.
The common windows way is different: An Object is responsible for itself. So you have to have the information within the object, change the object and it restores to what it belonged (according to its states). Nice,clean and encapsulated. Since we hunt the fox encapsulation is not too good idea.
Doing all with encapsulation will cause the interpreter to jump to sleep. It is not fast.
I would prefer to use this ENABLED_ASSIGN in a way like.
PARAMETERS;
tvNewVal
WITH THIS
.ENABLED = tvNewVal
.control1.ENABLED = tvNewVal AND WhatElseSet_Control1
.control2.~
~
Or what I really do if needed is a method in the FORM that runs straight with no "IF" no jump just logic to control each and every effect that needs control.
Gather all conditions
do logic that is multiple needed
set all visible
set all enabled
set all readonly
...
Puting a LOCKSCREEN around and it is not to slow.
It is a little bit of what you need it for. If you scroll through a table fiering houndreds of method calls per line it is not to fine. All need be fast as possible. I remeber one time, where we used a timer :{ to prevent methods from fiering on scrolling through a grid.
If ENABLED is switched by a checkbox users tolerance is higher.
Agnes
>Agnes,
>
>Thanks. I had already hinted at this solution in my original question. The problem remains: when disabling all controls, and then re-enabling them, ALL controls will be enabled, including controls which were previously NOT disabled. Do you think I should somehow keep track of which controls were already disabled when I disable all?
>
>Mit herzlichen Grüssen,
>
>Hilmar.
Words are given to man to enable him to conceal his true feelings.
Charles Maurice de Talleyrand-Périgord
Weeks of programming can save you hours of planning.
OffThere is no place like [::1]