First, some more information.
I progressively deleted Procedure Blocks, used Cleanup Blocks then Download Blocks: Starting with the failure to download at the full set of 3491 Blocks I had to delete until I had only 1507 Blocks (this is not the accurate level just an indication) remaining and then the normal Save Dialog appeared and worked fine.
ABG:
<It does not look like you are doing enough to void repetition in your blocks.
Where are your procedure parameters, that let you reuse the same procedure for different data?>
So sorry, ABG, but your comment means nothing to me at present but I'll go hunting; thanks for the clue. Ah, I see it's avoid, and after seeing other comments I can get the gist now and will indeed use parameters as I improve the code, thanks.
<Why do you have global variables cust0-cust7 ?
Will you only have 8 customers?>
I Only have a max of six 'Customers' (Cust0 is 'Refunds' and Cust7 is EndOfDay Adjustments). It's a crude Point Of Sale App which is designed to cater for up to six piles of goods temporarily placed while Customers browse for more goods until they are ready to pay. The App simply collects Sales tagged by Category informs a Customer what they owe and writes to text file once a Customer has paid. It has to cater for changes in the piles of goods and for a Customer who decides against paying, as well as demands for Refunds!
<Why so many buttons, when you can use List Pickers easily?>
As a POS screen it seemed easier on the operator to press a button (for Category - last button counts, and for Price - button values add up) rather than mess with list pickers, but thanks for the heads up. Something to consider.
<See these samples for how to code with fewer blocks ...>
Thanks, I have got them to read and learn from and I shall find them instructive, but other tasks are pressing, such as our annual concert tomorrow.
Chris:
Thanks for the tips re calling just one Notifier Block, and create-an-empty-list to delete the contents.
<The 'GoToPage' Procedures are practically identical - Define just one with arguments>
Yes, I will use arguments now I am aware of them :-)
<To switch Virtual Screens, have each arranged on it's own Vertical Scroll Arrangement (screen height-width 100%) - then to switch screens, you do not have to change the visibility of every component, just the Vertical Scroll Arrangements :) That will make a difference to the User experience in terms of speed of display and your Code will be much simpler.>
Yes, I am using the switching idea partially but should go the extra mile to put sections into Vertical Scroll Arrangements; it will be easier to just switch chunks on and off I agree.
<Make a dedicated folder in SD for your App - DCIM is for storing Digital Camera Images :)>
Yes, I do know that but I wanted to it working and it just plonked its files in there. Ok, I'll tidy up :-)
<The customer numbers could be a List instead of a bunch of global variables>
I'll take a look but I'm feeling overwhelmed and I find Lists most intimidating...
<Re ABG's suggestion about replacing button sets with a ListView or ListPicker - this would make your GUI much more User friendly and reduce your code blocks considerably, so I think that's a 'no brainer' improvement.> Well, I felt pressing buttons in a Sales environment would be quicker and less prone to error than pressing on a list picker and then selecting an item from the list. I will keep in mind for future experimentation.
This was meant to be a quick painless creation of an App but it's grown and not in an elegant way I fear. It is working live in a Sales environment (family business; this is NOT an Accounting App!) but I want to improve speed and remove some Reports code as I now feel our needed Reports are best done with a Spreadsheet Pivot Table.
People, many thanks for your kindness and indeed sheer speed in replying; you have solved my short term problem (obtaining pictures of the Blocks so I can see the whole thing conveniently, even though I can't get a picture of the whole thing at once) and you have given me really useful pointers to make significant improvements which I shall be following up.
I'm feeling slightly overwhelmed and need to lie down in a darkened room for a while :-)
Keep up the excellent helpful work.
Regards, John