>>If the field name exist in the userfield table, I use the refresh method to enable or disable the control.
>
>There's a large overhead in table access (admittedly something VFP is very good at) which worries me.
>
>If every time a form is refreshed, every control is going to read the security table and enable/disable itself I would expect it to slow down performance.
>
>I am trying to keep it all in the Init() method, once controls are secured the user can't log out and log in without closing the form - so security levels won't change while a form exists.
Paul,
I understand your concerns, but, I use an approach like this (triggered by refresh) and it really doesn't take all that long (except on slow machines).
One thing you may consider is categorizing you fields, and creating a subclass for each category, then you could issue a setall for the classes that the user can access/can't access. This would speed up the refresh if the overhead proves too high.
Good Luck.
John
John Adams
John T. Adams
Software Consulting Services