I think every idea completes on pretty much same trick "Make a hole in the bottom"
The missing part in timing object was "Every Second Counts".
A child timing object inside parent timing object solves the date change issue.
I have two timing objects:
1- uo_timing (The parent one that will be used everywhere for any time interval)
2- uo_everySecond (The child only for 1 second interval created inside parent uo_timing object )
The only itching part left behind is that the parent timing object (no matter what) IS NOT GOING TO CREATE ITSELF. otherwise there was no need of uo_everySecond.
for example: everySecond = CREATE uo_timing will crash PowerBuilder in classic way if used in parent.
But good thing is, parent will kill its child before parent is dead. And that does not bother me because only parent will be created everywhere and not the child.
And the cream is the instance variable Counter in uo_everySecond
Double lifeSpan
lifeSpan = TAME.EverySecond.Counter
It will be the actual life span of a timing object in seconds regardless of how many times Start() or Stop() were called.
And seconds will be converted to anything minutes, days, weeks etc.
Thank you for letting me attach pbl