I was found it out to, I investigate it along your example, and your conclusions...
And I was found out it's possible in the spritenames.text part to make it a little bit simpler... I will add the AIA file soon... To explain the little advantage that I was found in the possibilitys of the certain blocks... I must generate one first...
And you was asking me what App this will be, or what I will do with the app, but I will post it the complete thing, by the way is there a possibility to post my app as example for others, sometimes there are other people that need to solve the same issues like me in the past... I will give it to you for use it.... If you have something like a gallery of apps, then you can post it there....
And here comes my AIA file (my version before yours)
leftedge_copy (6).aia (23.2 KB)
So I have a saving too....
So, how you see in the final part:
I was find out, that the global variable already haves the data by lines one under an other, and it is not necessary to make the extra step to select it by the list block.... I don't know if this is new, but for me it works wonderfully.... And so I can display it directly by a label, button or i think by list block....
But an other thing what I will adapt indead, from your suggestion, is the if Block to make that the listmaker only ads an item, when SpriteNamesnew or the other list his length are < "every imagesprite" block.
By this method we can conserve the data in the lists work with them, and when I delete one button, or other object in the designer, it adapt s automatically.....
This is what I want to achieve, this I was making with qbasic, scratch, pocket code, tinker, and this is my way to make things, and prepare all part's of it that I can make changings without the need to change the programming, and here I go 1 step further, it adapts in the companion also, Because i put it all in clocks, and use the "every - ....- Block's"
In the first place I have only a little bit what I want to do with my app, but ich will make it adaptable.... With less work by the changes.... (I am a lazy developer)