Further examination has made me realise its the sizeof function that's causing the problem. If I manually enter the array size and remove the sizeof function the array pointer works perfectly. It would be nice to get the sizeof function to return the correct array size, but if that cannot be done I can write a small piece of code to get all the array sizes with their original names and store the lengths in flash. Probably just make it run at compile time.
Thanks for your thoughts
Best Regards
picclock