Dear @digischool_digitalen, as many other components, like BT comm's, or global variables, cease to work when switching between screens. Please consider that switching between screens is like running a completely different app. To avoid this we often suggest to use "virtual screens" instead (if you dig the forum with such tag you'll find many similar topics).
Moreover, there is a FAQ section (thanks to @ABG) that teaches how to correctly switch between screens.
Dear @digischool_digitalen ,
reading the answer from @TIMAI2, I've seen that you've allocated the initialization of clock1 in its clock1.timer event itself..
That's not correct. At design level you'd better untick both checkboxes: timer.enabled and timer.alwaysfires (so to avoid any unwanted clock1.timer event at the start of your app).
You shall then initialize it in a separate block, like suggested, for example in screen1.initialize, so when returning back form another screen, the clock is reinitialized as well.
And do not forget to stop it when leaving screen 1 (as per @TIMAI2 suggestion).
But, as in my previous post, if you can allocate all your code into screen1 and you use virtual screens, you can leave all the troubles behind your shoulders...
Unfortunately from the error message it is not clear which of the two labels of screen1 is causing the runtime issue. If the error is caused by the second one, which lays in a not visible vertical arrangment, when you switch back from a secondary screen to screen1, probably what is inside that arrangment (va_register) is not available/recognized any longer..
To detect which one of the two labels is the cause, you can comment out (disable) the relevant instruction row (for example to eliminate the first label, you can do):
So this clock1 isn't the same clock1 of screen1 but the clock1 of the dashboard screen ?
You have the same name for variables and clocks for the two screens (screen1 and dashboard). Have you tried to use different names for clocks and variables ?(unless those variables passed through screens by means of TinyDB, as you do).
As also @TIMAI2 has initially said, you shall stop any clock running in any screen"X" before leaving it, otherwise the clock runs anyway, and when attempting to access to a component (like a label) belonging to a screen not active in that moment, it will issue the error.