Hey everyone I have a question that I can’t seem to work and/or may be hitting a newbie design flaw.
I need to dynamically add an index number to a instantiated control name so every time I run it a “NewContainerControlX” is created as the “X” being a Number.
I have ran into the wall as I created a string name with index that I desire but then of course the variable is a string in which doesn’t fly since the control is a Container Control. Can I change that and/or how can I accomplish this another way?
Any ideas would be appreciated and sorry if this question sounds silly. Thanks
In RS they were called “Control Arrays”. In Xojo, they are “Control Sets”. You can’t have a set with each member having a different name. They must all have identical names. But each time you create a new member it will have the next sequential index number. So that basically accomplishes what you want. Have a look at Control Sets in the docs.
Thanks Roger for the reply. I tried using Control Sets in the beginning of this and couldn’t since my controls are not like (textfield and popupmenu). That is why I am using Container Controls which are working nicely. I am just having trouble accessing each individual dynamic instance since they all of the same name. I am also watching Paul’s webinars hoping to gain more on this topic.
dim myContainers() as myContainerControl
dim c as myContainerControl
c = new myContainerControl
...
myContainers.Append c
c= new myContainerControl
...
myContainers.Append c
...
myContainers(0).TextField1.Text = "First control"
myContainers(1).TextField1.Text = "Second control"
Except make myContainers a property of the window, not dim’d locally.
Thanks Tim I had been trying that but I just found my DA moment watching Paul’s webiner on container controls. I had not been setting mycontainers as a property where I think my issue was as you suggested. Phew and thank you again!