Dalla MailingList ufficiale oggi giunge un'altra risposta:
" I took a look into source code and I think this is because seconds are
stored in memory as short.
And this confirms I understand correctly:
? time(0,0,32766)
09.06.06
? time(0,0,32767) <--- last good value for signed short
09.06.07
? time(0,0,32768)
14.53.52
1.
So, one simple correction is just change documentation "as integer" --> "as
short".
2.
Or do conversion from seconds to minutes (if they are over 32767) before
asserting them to;
date.hour = PARAM->_integer.value;
date.min = PARAM[1]._integer.value;
date.sec = PARAM[2]._integer.value;
3.
Or change declaration of date, short --> integer.
However, I don't think I know enough about internal work of Gambas to
really make that decision.
What do you think Benoit?
Jussi "