>Hello
>
>This is a teorethical one. I solved it, but I still have a question.
>
>Suppose I have a form with a textbox and a button. The button have a custom property, named 'myprop'. In Properties window, I write the following as value for that property: =ThisForm.TextBox1.Value.Taborder is set 1 for textbox, 2 for button.
>
>
>In runtime, button1.myprop is .F. Can anyone explain why, please?
Because it's evaluated during the .init, before the controls are actually bound. If you want it to be re-evaluated at .refresh, you need to have the expression surrounded by parentheses, i.e. =(ThisForm.TextBox1.Value.Taborder)
Also, the tab order doesn't necessarily equal instantiation order. If you want to have a control instantiated the last, use the layout toolbar to bring it to front. Close and reopen the form, and check that your control really is the last in the combo of the PEM window. If there's just too many controls to do them one by one, I have a builder uploaded here (in files section, or just click on my name) which will order them the same as they are ordered by tab order. Again, I must repeat that surgeon admiral has decided that relying on the order of instantiation of controls may work, but also may not, and can cause debugger addiction...