>>Hi,
>>
>>I am wondering how others deal with the following situation. Here is how I do:
>>
>>I have a form where some customers need to see a row of controls (three labels and three textboxs). Other customer do not need to see or use them.
>>I place these controls on the form and set the Visible of all to .T.
>>At run time, when the form is initialized - based on some setting that calls for these controls not be be used - the code sets the property Visible of all controls to .F. Then, there is a LOOP through all controls and the TOP value is decreased by 26 (the space for these controls).
>>This works. But I wonder how others would do it.
>>
>>TIA
>
>I usually do the opposite:
>The controls are added through a factory method that evaluates the license and instantiates objects on the fly or does other things. Most forms have a plug in method that gets called from the init which the factory can evaluate. If you have only one license that has exceptions, it may not be worth to introduce a complex system, but if you get a few of those it soon will be necessary to manage that well.
>
>In some cases it is also better to have a subclass or a copy of the said form and instantiate the form depending on the license.
Thank you. One thing I could never understand is the concept of "factory". How would you explain it in other words?
"The creative process is nothing but a series of crises." Isaac Bashevis Singer
"My experience is that as soon as people are old enough to know better, they don't know anything at all." Oscar Wilde
"If a nation values anything more than freedom, it will lose its freedom; and the irony of it is that if it is comfort or money that it values more, it will lose that too." W.Somerset Maugham