>My guess is that when you define the thing programmatically, you do not set a value for Value and it is defaulted to .F. which is not character. What happens if you set the initial value of .Value = '' in your code?
>
We have found the root of the problem. Value is not defaulting to .f., but I just went and looked: it is zero when the program hits Form.init. And that would do it...
Since yesterday, I had already set Value to the first string of the array in Form init, so when I took away the controlSource property the form still worked properly.
I suppose it will work properly (listbox.value returning a string) as long as value is set to a string any time before the listBox gets focus.
Thanks to all of you for your help,
Steve Gibson